test3 - memorystream retry

main
syneffort 2 years ago
parent b1cbed9c78
commit 166f7606a5
  1. 33
      SocketStudy/PComm/PClient.cs

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

Loading…
Cancel
Save