当前位置: 代码迷 >> C# >> 异步SOCKET连接,该如何处理
  详细解决方案

异步SOCKET连接,该如何处理

热度:44   发布时间:2016-05-05 04:19:33.0
异步SOCKET连接
TcpListener listener = new TcpListener(System.Net.IPAddress.Parse(ip), int.Parse(port));

listener.Start(110);// 打开监听 110个客户端

listener.BeginAcceptTcpClient(ClientCallBack, listener);// 异步

private static void ClientCallBack(IAsyncResult ar)// 异步回调方法
        {
            try
            {
   (F9断点)             TcpListener listener = (TcpListener)ar.AsyncState;
                TcpClient client = listener.EndAcceptTcpClient(ar);
            }
            catch (Exception)
            {}
        }
如果要调试服务端,每当客户端尝试连接时,就断点到F9那一行,这个要怎么做.
------解决思路----------------------
打开服务端代码,运行,然后启动客户端程序,连到你的服务端程序(本机)就行了
------解决思路----------------------
对,不是自己调自己,所以不是递归

TcpListener调用EndAcceptTcpClient只是接受了一个客户端的连接请求,生成了TcpClient
随后同这个客户端之间的通讯全都通过这个TcpClient进行
TcpListener并不是关闭了,再次调用BeginAcceptTcpClient是开始等待下一个客户端的连接请求
  相关解决方案