From 72867a26da880c0c49828aa111d3d278bc181825 Mon Sep 17 00:00:00 2001 From: sta Date: Sun, 26 Oct 2014 13:22:33 +0900 Subject: [PATCH] Fix for issue #84 --- websocket-sharp/Ext.cs | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/websocket-sharp/Ext.cs b/websocket-sharp/Ext.cs index 4a71ac00..441476d4 100644 --- a/websocket-sharp/Ext.cs +++ b/websocket-sharp/Ext.cs @@ -131,16 +131,21 @@ namespace WebSocketSharp private static byte[] readBytes (this Stream stream, byte[] buffer, int offset, int length) { - var len = stream.Read (buffer, offset, length); - if (len < 1) - return buffer.SubArray (0, offset); + var len = 0; + try { + len = stream.Read (buffer, offset, length); + if (len < 1) + return buffer.SubArray (0, offset); - while (len < length) { - var readLen = stream.Read (buffer, offset + len, length - len); - if (readLen < 1) - break; + while (len < length) { + var readLen = stream.Read (buffer, offset + len, length - len); + if (readLen < 1) + break; - len += readLen; + len += readLen; + } + } + catch { } return len < length @@ -681,12 +686,8 @@ namespace WebSocketSharp ? stream.readBytes (buff, len, length - len) : buff; } - catch (ObjectDisposedException) { - // The Stream has been closed. - return; - } catch { - throw; + bytes = new byte[0]; } if (completed != null)