[英]How do I decide which IPv4 address to use?
在具有多个IPv4地址的环境中,如何选择要监听的地址? 我在下面的代码中碰运气:
foreach(IPAddress addr in Dns.GetHostAddresses(Dns.GetHostName()))
if (addr.AddressFamily == AddressFamily.InterNetwork)
if (!IPAddress.IsLoopback(addr))
return addr.ToString();
由于它不将以下接口适配器视为回送地址:
Ethernet adapter loopback:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Microsoft Loopback Adapter
Physical Address. . . . . . . . . : XX.XX.XX.XX.XX.XX
DHCP Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Autoconfiguration IPv4 Address. . : 169.254.XXX.XXX(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . :
DNS Servers . . . . . . . . . . . : XXX: XXX: XXX:XXXX::XXX
XXX: XXX: XXX:XXXX::XXX
XXX: XXX: XXX:XXXX::XXX
NetBIOS over Tcpip. . . . . . . . : Enabled
我已经看到一些程序员假设存在一个名为“ Local Area Connection”的NetworkInterface
,并且始终是正确的接口,但是我认为这不是正确的方法。
我认为没有意义上的筛选接口,因为您的设备上可能有多个卡(例如,以太网和wifi)。 如果您要开发服务器组件,那么您肯定希望获得所有使用它们的接口的请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.