我如何决定使用哪个IPv4地址
本文关键字:IPv4 地址 何决定 决定 | 更新日期: 2023-09-27 18:12:30
在有多个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
我见过一些程序员假设存在一个名为"本地连接"的NetworkInterface
,并且总是正确的接口,但我不认为这是正确的方法。
我认为没有意义过滤接口,因为您可能在设备上有多个卡(以太网&例如Wifi)。如果您正在开发一个服务器组件,您肯定希望获得所有请求,无论它们使用什么接口。