我有一个服务器和一个客户端应用程序,服务器没有异常,并且似乎可以正确监听,但是由于某些原因,客户端无法连接,因此我尝试使用本地网络和公共IP。
-使用本地网络的IP,仅当客户端应用程序在与服务器相同的计算机上运行时,我才能连接到它。
-使用公共IP,无法连接到服务器。
但是,在两种情况下,如果连接失败,它的行为总是相同的:等待大约5到10秒,然后抛出System.Net.Socket.SocketException
。我先尝试使用端口1507,然后尝试使用端口80,但它并没有改变
服务器
IPAddress adress = IPAddress.Parse(MyIp);
TcpListener listener = new TcpListener(adress, 80);
listener.Start();
TcpClient Client = await listener.AcceptTcpClientAsync();
客户
TcpClient client = new TcpClient();
client.ConnectAsync(IPAddress.Parse(MyIp), 80).GetAwaiter().GetResult();
我不明白问题出在哪里,是我的代码引起的吗?如果不是,那是什么,我该如何解决?
答案 0 :(得分:2)
您是否尝试过从特定端口上的外部网络进行Telnet? 如果您无法连接,则可能是路由器端口重定向或防火墙阻止了访问。