|
|
@ -184,32 +184,47 @@ namespace PComm |
|
|
|
if (dataSize >= BUFF_SIZE) |
|
|
|
if (dataSize >= BUFF_SIZE) |
|
|
|
Thread.Sleep(100); |
|
|
|
Thread.Sleep(100); |
|
|
|
|
|
|
|
|
|
|
|
byte[] receivedData = new byte[dataSize]; |
|
|
|
List<byte> receivedData = new List<byte>(dataSize); |
|
|
|
using (MemoryStream ms = new MemoryStream(dataSize)) |
|
|
|
while (dataSize > 0) |
|
|
|
{ |
|
|
|
{ |
|
|
|
while (dataSize > 0) |
|
|
|
byte[] buff; |
|
|
|
{ |
|
|
|
if (dataSize < BUFF_SIZE) |
|
|
|
byte[] buff; |
|
|
|
buff = new byte[dataSize]; |
|
|
|
if (dataSize < BUFF_SIZE) |
|
|
|
else |
|
|
|
buff = new byte[dataSize]; |
|
|
|
buff = new byte[BUFF_SIZE]; |
|
|
|
else |
|
|
|
|
|
|
|
buff = new byte[BUFF_SIZE]; |
|
|
|
int receiveSize = socket.Receive(buff, buff.Length, SocketFlags.None); |
|
|
|
|
|
|
|
|
|
|
|
int receiveSize = socket.Receive(buff, buff.Length, SocketFlags.None); |
|
|
|
receivedData.AddRange(buff); |
|
|
|
|
|
|
|
dataSize -= receiveSize; |
|
|
|
// Thread.Sleep(1); |
|
|
|
|
|
|
|
ms.Write(buff, 0, buff.Length); |
|
|
|
|
|
|
|
dataSize -= receiveSize; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
receivedData = ms.ToArray(); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//using (MemoryStream ms = new MemoryStream(dataSize)) |
|
|
|
|
|
|
|
//{ |
|
|
|
|
|
|
|
// while (dataSize > 0) |
|
|
|
|
|
|
|
// { |
|
|
|
|
|
|
|
// byte[] buff; |
|
|
|
|
|
|
|
// if (dataSize < BUFF_SIZE) |
|
|
|
|
|
|
|
// buff = new byte[dataSize]; |
|
|
|
|
|
|
|
// else |
|
|
|
|
|
|
|
// buff = new byte[BUFF_SIZE]; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// int receiveSize = socket.Receive(buff, buff.Length, SocketFlags.None); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// // Thread.Sleep(1); |
|
|
|
|
|
|
|
// ms.Write(buff, 0, buff.Length); |
|
|
|
|
|
|
|
// dataSize -= receiveSize; |
|
|
|
|
|
|
|
// } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// receivedData = ms.ToArray(); |
|
|
|
|
|
|
|
//} |
|
|
|
|
|
|
|
|
|
|
|
byte[] data; |
|
|
|
byte[] data; |
|
|
|
if (isCompressed) |
|
|
|
if (isCompressed) |
|
|
|
data = PUtil.DecompressBytes(receivedData); |
|
|
|
data = PUtil.DecompressBytes(receivedData.ToArray()); |
|
|
|
else |
|
|
|
else |
|
|
|
data = receivedData; |
|
|
|
data = receivedData.ToArray(); |
|
|
|
|
|
|
|
|
|
|
|
if (OnReceived != null) |
|
|
|
if (OnReceived != null) |
|
|
|
OnReceived(this, dataType, data); |
|
|
|
OnReceived(this, dataType, data); |
|
|
|