diff --git a/websocket-sharp/WebSocket.cs b/websocket-sharp/WebSocket.cs index 043e4529..c8eb10ca 100644 --- a/websocket-sharp/WebSocket.cs +++ b/websocket-sharp/WebSocket.cs @@ -1327,12 +1327,16 @@ namespace WebSocketSharp if (receivePong == null) return false; - receivePong.Reset (); + try { + receivePong.Reset (); + if (!send (Fin.Final, Opcode.Ping, data, false)) + return false; - if (!send (Fin.Final, Opcode.Ping, data, false)) + return receivePong.WaitOne (_waitTime); + } + catch (ObjectDisposedException) { return false; - - return receivePong.WaitOne (_waitTime); + } } private bool processCloseFrame (WebSocketFrame frame)