|
|
|
@ -712,14 +712,24 @@ namespace WebSocketSharp
|
|
|
|
{
|
|
|
|
{
|
|
|
|
using (var dest = new MemoryStream ()) {
|
|
|
|
using (var dest = new MemoryStream ()) {
|
|
|
|
var buff = new byte[bufferLength];
|
|
|
|
var buff = new byte[bufferLength];
|
|
|
|
|
|
|
|
var retry = 0;
|
|
|
|
var nread = 0;
|
|
|
|
var nread = 0;
|
|
|
|
|
|
|
|
|
|
|
|
while (length > 0) {
|
|
|
|
while (length > 0) {
|
|
|
|
if (length < bufferLength)
|
|
|
|
if (length < bufferLength)
|
|
|
|
bufferLength = (int) length;
|
|
|
|
bufferLength = (int) length;
|
|
|
|
|
|
|
|
|
|
|
|
nread = stream.Read (buff, 0, bufferLength);
|
|
|
|
nread = stream.Read (buff, 0, bufferLength);
|
|
|
|
if (nread == 0)
|
|
|
|
if (nread <= 0) {
|
|
|
|
|
|
|
|
if (retry < _retry) {
|
|
|
|
|
|
|
|
retry++;
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
retry = 0;
|
|
|
|
|
|
|
|
|
|
|
|
dest.Write (buff, 0, nread);
|
|
|
|
dest.Write (buff, 0, nread);
|
|
|
|
length -= nread;
|
|
|
|
length -= nread;
|
|
|
|
|