0

我正在尝试制作一个基本的客户端/服务器程序,但是当我启动 TcpListener 时,它给了我SocketException:The requested address is not valid in its context.
我实际上有一个返回我的公共 IP 的方法,它与 ipconfig 结果匹配,所以下面的 IP 地址字符串不能是问题。当然,出于安全原因,下面显示的 IP 不是我的真实 IP。我打开下面的端口以供一般使用。
无论如何,Not valid in context是模糊的,所以我不确定那是什么意思。

这是我的代码(用于 TcpListener):

ServerIn = new TcpListener(IpAddress.Parse("100.100.100.100"), 8000);
ServerIn.Start();

提前致谢。

4

2 回答 2

4

TcpListener 只能绑定到运行它的计算机的本地 IP 地址。所以你指定的 IP 不是本地机器的 IP。您的公共 IP 与本地计算机的 IP 不同,尤其是在您使用某种 NAT 时。

如果我没记错的话,通常只使用 IPAddress.Any 作为您的 IP 来初始化侦听器。

于 2013-06-13T16:47:35.333 回答
1

正如MSDN 中关于 TcpListener 所写

IPAddress - 表示本地 IP 地址的 IPAddress。

所以它需要是一个本地IP地址。

于 2013-06-13T16:50:50.183 回答