TcpListener.AcceptTcpClientAsync方法不侦听客户端请求

时间:2019-07-10 12:39:38

标签: c# tcp tcplistener

我正在尝试用C#做一个TCP服务器。

我的代码如下:

TcpListener server = new TcpListener(IPAddress.Parse("127.0.0.1"), 4201);
server.Start();
var client = await server.AcceptTcpClientAsync();
//do something with the client.

问题在于,当我调用该TCP服务器时,它仍然堆栈在方法AcceptTcpClientAsync()上。

我用来尝试连接到上述服务器的Java代码:

Socket clientSocket = new Socket("127.0.0.1", 4201);

我在Java中遇到了异常-

Exception in thread "main" java.net.ConnectException: Connection timed out: connect
    at java.base/java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.base/java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
    at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:400)
    at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:243)
    at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:225)

当我尝试在Java中打开ServerSocket时:

ServerSocket welcomeSocket = new ServerSocket(4201);
Socket connectionSocket = welcomeSocket.accept();
//do something with the connectionSocket.

一切正常,我能够连接到服务器,所以我想问题不在端口或防火墙中。

无论如何,我都添加了防火墙规则-

netsh advfirewall firewall add rule name="Open port 4201" dir=in action=allow protocol=TCP localport=4201

但是C#服务器仍然无法正常工作。

您知道我还能尝试什么吗?

谢谢。

0 个答案:

没有答案
相关问题