// 客户端异步连接回调 void ConnectionCallback(IAsyncResult ar) { Socket socket = (Socket)ar.AsyncState; try { // 与服务器取得连接 socket.EndConnect(ar); // 通知已经成功连接到服务器 handler.OnConnected(socket); // 开始异步接收服务器信息 socket.BeginReceive(rPacket.bytes, 0, NetPacket.headerLength, SocketFlags.None, new AsyncCallback(ReceiveHeader), socket); status = ClientStatus.CONNECTED; } catch (Exception ex) { handler.OnConnectFailed(socket, ex); } }