【发布时间】:2022-01-15 07:46:56
【问题描述】:
使用以下代码,我的客户端无法连接我的服务器:
private static TcpClient client = new TcpClient(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 0));
private static IPEndPoint destinationEp = new IPEndPoint(IPAddress.Parse("192.168.0.100"), 1234);
//...
client.Connect(destinationEp);
改用TcpClient client = new TcpClient() 会起作用。
在原来的情况下,我的理解是我将本地IP设置为本地机器,并使用任何可用的端口作为本地端口,以方便通信。我怀疑服务器正在尝试使用 IP“127.0.0.1”连接到客户端,这不起作用,但我不确定。
为什么我必须使用new TcpClient() 而不是new TcpClient(myEndpoint) 才能成功建立服务器连接?
【问题讨论】:
-
用Wireshark观察流量怎么样?
-
@ThomasWeller 我对网络还很陌生,还没有听说过 Wireshark。我去看看。
标签: c# network-programming tcpclient tcplistener