diff --git a/include/websock.js b/include/websock.js index f3336a0a..4d7a4f9a 100644 --- a/include/websock.js +++ b/include/websock.js @@ -197,7 +197,7 @@ function Websock() { } if (this._websocket.bufferedAmount < this.maxBufferedAmount) { - if (this._sQlen > 0) { + if (this._sQlen > 0 && this._websocket.readyState === WebSocket.OPEN) { this._websocket.send(this._encode_message()); this._sQlen = 0; } diff --git a/tests/test.websock.js b/tests/test.websock.js index 953a5268..f708e04b 100644 --- a/tests/test.websock.js +++ b/tests/test.websock.js @@ -173,6 +173,7 @@ describe('Websock', function() { it('should actually send on the websocket if the websocket does not have too much buffered', function () { sock.maxBufferedAmount = 10; sock._websocket.bufferedAmount = 8; + sock._websocket.readyState = WebSocket.OPEN sock._sQ = new Uint8Array([1, 2, 3]); sock._sQlen = 3; var encoded = sock._encode_message();