コード例 #1
0
        /// <summary>
        /// 侦听回调方法
        /// </summary>
        /// <param name="ar"></param>
        private void OnAccept(IAsyncResult ar)
        {
            try
            {
                Socket       new_accept = _socket.EndAccept(ar); //新连接socket
                ZProxySocket proxy      = GetProxy(new_accept);  //创建代理socket
                proxy.DisConnected    += new DisConnectedEventHandler(proxy_DisConnected);
                proxy.MessageReceived += new MessageReceivedEventHandler(proxy_MessageReceived);
                proxy.StartReceive();  //代理socket开始接收数据

                if (Connected != null)
                {
                    Connected.BeginInvoke(proxy, null, null);           //激发Connected事件
                }
                _socket.BeginAccept(new AsyncCallback(OnAccept), null); //开始下一次异步侦听
            }
            catch
            {
            }
        }
コード例 #2
0
ファイル: ZClientSocket.cs プロジェクト: robber5/trunk
        /// <summary>
        /// 异步连接服务器回调方法
        /// </summary>
        /// <param name="ar"></param>
        private void OnConnect(IAsyncResult ar)
        {
            try
            {
                _socket.EndConnect(ar);

                _proxy = GetProxy(_socket);  //创建代理socket
                _proxy.DisConnected    += new DisConnectedEventHandler(_proxy_DisConnected);
                _proxy.MessageReceived += new MessageReceivedEventHandler(_proxy_MessageReceived);
                _proxy.StartReceive();  //开启接收数据
                _connected = true;
                if (Connected != null)  //成功 激发Connected事件
                {
                    Connected(_proxy);
                }
            }
            catch
            {
                if (Connected != null)  //失败 激发Connected事件
                {
                    Connected(null);
                }
            }
        }