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


IPAddress.Any表示本机ip,换言之,如果服务器绑定此地址,则表示侦听本机所有ip对应的那个端口(本机可能有多个ip或只有一个ip)
IPAddress.Any微软给出的解释是:Provides an IP address that indicates that the server must listen for client activity on all network interfaces. This field is read-only.翻译过来就是:提供一个iP地址来指示服务器必须监听所有网卡上的客户端活动。此字段为只读的。也就是说,对双卡网或者多网卡的机器,每个网卡都会有一个独立的ip,如果使用了IPAddress.Any就表示服务器必须监听本机所有网卡上的指定端口。
比如双网卡机器,内网ip为192.168.0.1,外网ip为120.210.1.1,服务器可以同时监听192.168.0.1:80和120.210.1.1:80。

localipAddress = Dns.Resolve(IPAddress.Any.ToString()).AddressList[0];

m_RecSocket = new TcpListener(localipAddress, m_localPort);

的写法可以改成

m_RecSocket = new TcpListener(IPAddress.Any, m_localPort);

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM