【C#】IPAddress.Any 解决本地ip和服务器ip切换问题

IPAddress.Any:提供一个 IP 地址,指示服务器应侦听所有网络接口上的客户端活动。 此字段为只读。

对双卡网或者多网卡的机器,每个网卡都会有一个独立的ip,如果使用了IPAddress.Any就表示服务器必须监听本机所有网卡上的指定端口。

比如电脑上或服务器上设置了两个IP地址,内网ip为192.168.0.100,外网ip为120.210.1.100。

使用IPAddress.Any,服务器可以同时监听192.168.0.100:80和120.210.1.100:80。

// 使用IPAddress.Any,服务器可以监听所有网络接口上的客户端活动
listener = new TcpListener(IPAddress.Any, iCommunicationServerPort);
// 获取本机的所有IP地址
IPAddress[] iplist = Dns.GetHostAddresses(Dns.GetHostName());