Exemplo n.º 1
0
        /// <summary>
        /// 异步建立客户端连接回调
        /// </summary>
        private void AcceptCallBack(IAsyncResult ar)
        {
            try
            {
                Socket        socket  = listen.EndAccept(ar);
                SessionClient session = SessionClientPool.GetSessionClient();

                if (session == null)
                {
                    socket.Close();
                    Console.WriteLine("警告:连接已满!");
                }
                else
                {
                    session.Initialize(socket);
                    string address = session.GetRemoteAddress();
                    Console.WriteLine("客户端连接 [{0}]", address);
                }

                listen.BeginAccept(AcceptCallBack, null);
            }
            catch (Exception e)
            {
                Console.WriteLine("异步建立客户端连接失败:" + e.Message);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 异步建立客户端连接回调
        /// </summary>
        private void AcceptCallBack(IAsyncResult ar)
        {
            try
            {
                Socket        _socket = listen.EndAccept(ar);
                SessionClient _client = SessionClientPool.GetSessionClient();
                if (_client != null)
                {
                    _client.Initialize(_socket);
                    Console.WriteLine("客户端连接 [{0}]", _socket.RemoteEndPoint.ToString());
                }
                else
                {
                    _socket.Close();
                    Console.WriteLine("警告:连接已满!");
                }

                listen.BeginAccept(AcceptCallBack, null);
            }
            catch (Exception e)
            {
                Console.WriteLine("异步建立客户端连接失败:" + e.Message);
            }
        }