110,571
社区成员
发帖
与我相关
我的任务
分享
OnConnectRequest(IAsyncResult ar)
{
serverSocket = (Socket)ar.AsyncState;
Socket clientsocket = serverSocket.EndAccept(ar);//异步接收连接 //新建一个线程内变量
remote = clientSocket.RemoteEndPoint;
_sessionTable.Add(clientSocket.RemoteEndPoint, null);//将连接成功的客户端实例添加到哈希表中
serverSocket.BeginAccept(new AsyncCallback(OnConnectRequest), serverSocket);//等待新的客户端连接
ReceiveMessage(clientsocket ); //内部变量传给消息处理函数
}
但 ReceiveMessage 仍然是个公共函数,理论上要新开线程.来完成数据处理.
所以一般作异步SOCKET连接 还得有异步消息处理过程.
_socket.BeginReceive
_socket.EndReceive(ar)