正在尝试启动侦听器套接字

本文关键字:侦听器 套接字 启动 | 更新日期: 2023-09-27 18:19:51

我试着按照MSDN上的exmaple创建一个异步服务器。但似乎没有什么能连接到它

http://msdn.microsoft.com/en-us/library/5w7b7x5f.aspx

这是我的。。。

还要注意AddressList[2],这不是一个错误;)

private static Socket mListenerSocket;
IPHostEntry ipHostInfo = Dns.GetHostEntry(Dns.GetHostName());
IPEndPoint localEP = new IPEndPoint(ipHostInfo.AddressList[2], port);
// This line outputs 192.168.0.6:6809 (which is correct)
Console.WriteLine("{0}", localEP.ToString());
mListenerSocket = new Socket(
    ipHostInfo.AddressList[2].AddressFamily, 
    SocketType.Stream, 
    ProtocolType.Tcp);
mListenerSocket.Bind(localEP);
mListenerSocket.Listen(10);
mListenerSocket.BeginAccept(new AsyncCallback(AcceptCallback), mListenerSocket);

我的回调方法定义为:

private static void AcceptCallback(IAsyncResult ar)
{
    // It does not even get here
    mListenerSocket.EndAccept(ar);
}

我希望当我使用"telnet 192.168.0.6 6809"进行telnet时,它应该跳到AcceptCallback方法,但它没有,所以没有建立连接。

有什么想法为什么它不起作用吗?没有错误可以帮助我:(

我尝试过使用TcpListener,但再次失败:(

mListenerSocket = new TcpListener(IPAddress.Any, port);
mListenerSocket.Start();
mListenerSocket.BeginAcceptSocket(new AsyncCallback(AcceptCallback), mListenerSocket);

正在尝试启动侦听器套接字

我的防火墙阻止了与客户端的连接。即使我禁用了它,我也必须重新启动Visual Studio才能捕获它