From 166f7606a51ad92d65a81eb0abca402c349106a9 Mon Sep 17 00:00:00 2001 From: syneffort Date: Thu, 17 Nov 2022 11:56:30 +0900 Subject: [PATCH] test3 - memorystream retry --- SocketStudy/PComm/PClient.cs | 55 +++++++++++++----------------------- 1 file changed, 20 insertions(+), 35 deletions(-) diff --git a/SocketStudy/PComm/PClient.cs b/SocketStudy/PComm/PClient.cs index 846d2d0..49f705f 100644 --- a/SocketStudy/PComm/PClient.cs +++ b/SocketStudy/PComm/PClient.cs @@ -184,47 +184,32 @@ namespace PComm if (dataSize >= BUFF_SIZE) Thread.Sleep(100); - List receivedData = new List(dataSize); - while (dataSize > 0) + byte[] receivedData = new byte[dataSize]; + using (MemoryStream ms = new MemoryStream(dataSize)) { - 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); - - receivedData.AddRange(buff); - dataSize -= receiveSize; + 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, 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; if (isCompressed) - data = PUtil.DecompressBytes(receivedData.ToArray()); + data = PUtil.DecompressBytes(receivedData); else - data = receivedData.ToArray(); + data = receivedData; if (OnReceived != null) OnReceived(this, dataType, data);