[Modify] Retry the read if it returns zero
Experimental modification to avoid 'cannot be read from the stream'.
This commit is contained in:
parent
02be830741
commit
e2ab760ca6
@ -702,6 +702,7 @@ namespace WebSocketSharp
|
|||||||
{
|
{
|
||||||
var dest = new MemoryStream ();
|
var dest = new MemoryStream ();
|
||||||
var buff = new byte[bufferLength];
|
var buff = new byte[bufferLength];
|
||||||
|
var retry = 0;
|
||||||
|
|
||||||
Action<long> read = null;
|
Action<long> read = null;
|
||||||
read = len => {
|
read = len => {
|
||||||
@ -718,7 +719,10 @@ namespace WebSocketSharp
|
|||||||
if (nread > 0)
|
if (nread > 0)
|
||||||
dest.Write (buff, 0, nread);
|
dest.Write (buff, 0, nread);
|
||||||
|
|
||||||
if (nread == 0 || nread == len) {
|
if (nread == 0 && retry < _retry) {
|
||||||
|
retry++;
|
||||||
|
}
|
||||||
|
else if (nread == 0 || nread == len) {
|
||||||
if (completed != null) {
|
if (completed != null) {
|
||||||
dest.Close ();
|
dest.Close ();
|
||||||
completed (dest.ToArray ());
|
completed (dest.ToArray ());
|
||||||
@ -727,6 +731,9 @@ namespace WebSocketSharp
|
|||||||
dest.Dispose ();
|
dest.Dispose ();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
retry = 0;
|
||||||
|
}
|
||||||
|
|
||||||
read (len - nread);
|
read (len - nread);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user