Exemplo n.º 1
0
        // 客户端异步连接回调
        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);
            }
        }