110,535
社区成员
发帖
与我相关
我的任务
分享
private void ReceiveCallBack(IAsyncResult ar)
{
StateObject state = (StateObject)ar.AsyncState;
Socket serverSocket = state.workSocket;
try
{
int bytesRead = serverSocket.EndReceive(ar);
if (bytesRead > 0)
{
byte[] data = new byte[bytesRead];//实际接收的数据
Buffer.BlockCopy(state.buffer, 0, data, 0, data.Length);
Event_ReceiveData(serverSocket, data);
serverSocket.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0, new AsyncCallback(ReceiveCallBack), state);
}
}
catch (SocketException ex)
{
if (ex.Message.IndexOf("远程主机强迫关闭了一个现有的连接") != -1)
{
}
else
{
throw ex;
}
}
}