diff --git a/DangerousD/GameCore/Network/NetworkManager.cs b/DangerousD/GameCore/Network/NetworkManager.cs index 5b9f1cb..41b48f1 100644 --- a/DangerousD/GameCore/Network/NetworkManager.cs +++ b/DangerousD/GameCore/Network/NetworkManager.cs @@ -52,7 +52,7 @@ namespace DangerousD.GameCore.Network int count = clientSocket.Receive(so.buffer, so.UploadedBytesCount, length - so.UploadedBytesCount, SocketFlags.None); so.UploadedBytesCount += count; } - List tasks = JsonConvert.DeserializeObject>(so.sb.ToString()); + List tasks = JsonConvert.DeserializeObject>(Encoding.Unicode.GetString(so.buffer, 0, length)); GetReceivingMessages(tasks); } } @@ -113,25 +113,7 @@ namespace DangerousD.GameCore.Network int count = socket.Receive(so.buffer, so.UploadedBytesCount, length-so.UploadedBytesCount, SocketFlags.None); so.UploadedBytesCount += count; } - List tasks = JsonConvert.DeserializeObject>(so.sb.ToString()); - GetReceivingMessages(tasks); - } - } - - private void AsyncReceiveCallback(IAsyncResult ar) - { - StateObject so = ar.AsyncState as StateObject; - Socket clientSocket = so.workSocket; - int readCount = clientSocket.EndReceive(ar); - so.UploadedBytesCount += readCount; - so.sb.Append(Encoding.Unicode.GetString(so.buffer, 0, readCount)); - if (so.UploadedBytesCount < so.bufferSize) - { - clientSocket.BeginReceive(so.buffer, 0, so.bufferSize, SocketFlags.None, new AsyncCallback(AsyncReceiveCallback), so); - } - else - { - List tasks = JsonConvert.DeserializeObject>(so.sb.ToString()); + List tasks = JsonConvert.DeserializeObject>(Encoding.Unicode.GetString(so.buffer, 0, length)); GetReceivingMessages(tasks); } } diff --git a/DangerousD/GameCore/Network/StateObject.cs b/DangerousD/GameCore/Network/StateObject.cs index f98170b..3648ad1 100644 --- a/DangerousD/GameCore/Network/StateObject.cs +++ b/DangerousD/GameCore/Network/StateObject.cs @@ -12,7 +12,6 @@ namespace DangerousD.GameCore.Network public Socket workSocket; public int bufferSize; public byte[] buffer; - public StringBuilder sb = new StringBuilder(); public int UploadedBytesCount; public StateObject(Socket socket, byte[] buffer)