diff --git a/SocketStudy/PComm/PClient.cs b/SocketStudy/PComm/PClient.cs index cd3ee6e..a9cf83e 100644 --- a/SocketStudy/PComm/PClient.cs +++ b/SocketStudy/PComm/PClient.cs @@ -184,6 +184,7 @@ namespace PComm if (dataSize >= BUFF_SIZE) Thread.Sleep(100); + byte[] receivedData = new byte[dataSize]; using (MemoryStream ms = new MemoryStream(dataSize)) { while (dataSize > 0) @@ -201,18 +202,19 @@ namespace PComm dataSize -= receiveSize; } - byte[] receivedData = ms.ToArray(); - byte[] data; - if (isCompressed) - data = PUtil.DecompressBytes(receivedData); - else - data = receivedData; + receivedData = ms.ToArray(); + } - if (OnReceived != null) - OnReceived(this, dataType, data); + byte[] data; + if (isCompressed) + data = PUtil.DecompressBytes(receivedData); + else + data = receivedData; - socket.BeginReceive(new byte[] { 0 }, 0, 0, 0, AcceptCallback, null); - } + if (OnReceived != null) + OnReceived(this, dataType, data); + + socket.BeginReceive(new byte[] { 0 }, 0, 0, 0, AcceptCallback, null); } catch (Exception ex) {