|
|
|
|
@ -761,6 +761,7 @@ namespace WebSocketSharp
|
|
|
|
|
|
|
|
|
|
var bytes = send ? WebSocketFrame.CreateCloseFrame (e.PayloadData, _client).ToArray () : null;
|
|
|
|
|
e.WasClean = closeHandshake (bytes, receive, received);
|
|
|
|
|
releaseResources ();
|
|
|
|
|
|
|
|
|
|
_logger.Trace ("End closing the connection.");
|
|
|
|
|
|
|
|
|
|
@ -786,13 +787,6 @@ namespace WebSocketSharp
|
|
|
|
|
received = received ||
|
|
|
|
|
(receive && sent && _exitReceiving != null && _exitReceiving.WaitOne (_waitTime));
|
|
|
|
|
|
|
|
|
|
if (_client)
|
|
|
|
|
releaseClientResources ();
|
|
|
|
|
else
|
|
|
|
|
releaseServerResources ();
|
|
|
|
|
|
|
|
|
|
releaseCommonResources ();
|
|
|
|
|
|
|
|
|
|
var ret = sent && received;
|
|
|
|
|
_logger.Debug (
|
|
|
|
|
String.Format ("Was clean?: {0}\n sent: {1}\n received: {2}", ret, sent, received));
|
|
|
|
|
@ -1169,6 +1163,16 @@ namespace WebSocketSharp
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void releaseResources ()
|
|
|
|
|
{
|
|
|
|
|
if (_client)
|
|
|
|
|
releaseClientResources ();
|
|
|
|
|
else
|
|
|
|
|
releaseServerResources ();
|
|
|
|
|
|
|
|
|
|
releaseCommonResources ();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// As server
|
|
|
|
|
private void releaseServerResources ()
|
|
|
|
|
{
|
|
|
|
|
@ -1702,6 +1706,8 @@ namespace WebSocketSharp
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
e.WasClean = closeHandshake (frameAsBytes, receive, false);
|
|
|
|
|
releaseServerResources ();
|
|
|
|
|
releaseCommonResources ();
|
|
|
|
|
|
|
|
|
|
_readyState = WebSocketState.Closed;
|
|
|
|
|
try {
|
|
|
|
|
|