fox
This commit is contained in:
parent
c108c1899b
commit
b2ed0bc14c
2 changed files with 2 additions and 21 deletions
|
@ -52,7 +52,7 @@ namespace DangerousD.GameCore.Network
|
||||||
int count = clientSocket.Receive(so.buffer, so.UploadedBytesCount, length - so.UploadedBytesCount, SocketFlags.None);
|
int count = clientSocket.Receive(so.buffer, so.UploadedBytesCount, length - so.UploadedBytesCount, SocketFlags.None);
|
||||||
so.UploadedBytesCount += count;
|
so.UploadedBytesCount += count;
|
||||||
}
|
}
|
||||||
List<NetworkTask> tasks = JsonConvert.DeserializeObject<List<NetworkTask>>(so.sb.ToString());
|
List<NetworkTask> tasks = JsonConvert.DeserializeObject<List<NetworkTask>>(Encoding.Unicode.GetString(so.buffer, 0, length));
|
||||||
GetReceivingMessages(tasks);
|
GetReceivingMessages(tasks);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -113,25 +113,7 @@ namespace DangerousD.GameCore.Network
|
||||||
int count = socket.Receive(so.buffer, so.UploadedBytesCount, length-so.UploadedBytesCount, SocketFlags.None);
|
int count = socket.Receive(so.buffer, so.UploadedBytesCount, length-so.UploadedBytesCount, SocketFlags.None);
|
||||||
so.UploadedBytesCount += count;
|
so.UploadedBytesCount += count;
|
||||||
}
|
}
|
||||||
List<NetworkTask> tasks = JsonConvert.DeserializeObject<List<NetworkTask>>(so.sb.ToString());
|
List<NetworkTask> tasks = JsonConvert.DeserializeObject<List<NetworkTask>>(Encoding.Unicode.GetString(so.buffer, 0, length));
|
||||||
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<NetworkTask> tasks = JsonConvert.DeserializeObject<List<NetworkTask>>(so.sb.ToString());
|
|
||||||
GetReceivingMessages(tasks);
|
GetReceivingMessages(tasks);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,6 @@ namespace DangerousD.GameCore.Network
|
||||||
public Socket workSocket;
|
public Socket workSocket;
|
||||||
public int bufferSize;
|
public int bufferSize;
|
||||||
public byte[] buffer;
|
public byte[] buffer;
|
||||||
public StringBuilder sb = new StringBuilder();
|
|
||||||
public int UploadedBytesCount;
|
public int UploadedBytesCount;
|
||||||
|
|
||||||
public StateObject(Socket socket, byte[] buffer)
|
public StateObject(Socket socket, byte[] buffer)
|
||||||
|
|
Loading…
Add table
Reference in a new issue