diff --git a/websocket-sharp/Ext.cs b/websocket-sharp/Ext.cs index 44bfe466..80cdc70b 100644 --- a/websocket-sharp/Ext.cs +++ b/websocket-sharp/Ext.cs @@ -319,10 +319,14 @@ namespace WebSocketSharp ) { var buff = new byte[bufferLength]; - var nread = source.Read (buff, 0, bufferLength); - while (nread > 0) { - destination.Write (buff, 0, nread); + var nread = 0; + + while (true) { nread = source.Read (buff, 0, bufferLength); + if (nread <= 0) + break; + + destination.Write (buff, 0, nread); } }