我正在构建一个使用UDP广播消息的设备发现系统。我开始使用UdpClient和IPAddress.Broadcast。
该解决方案适用于本地计算机上的客户端,但不适用于本地网络上的其他客户端。
通过this question,我发现Win 7阻止广播消息。当我手动输入本地网络广播地址时,它工作得很好。现在,我想编写一些代码,它将遍历所有本地网络适配器(类似于NetworkInterfaces.GetAllNetworkInterfaces()),并查找每个适配器所连接的网络的本地网络广播地址(如果有的话)。
这有意义吗?最好的方法是ping与Win 7、IPv6、IPv4等兼容的本地子网。换句话说,完全兼容。
谢谢!
发布于 2011-10-19 04:29:24
好的,就像……?
foreach (NetworkInterface Interface in NetworkInterface.GetAllNetworkInterfaces())
{
if (Interface.SupportsMulticast)
{
IPInterfaceProperties IPProperties = Interface.GetIPProperties();
foreach (IPAddressInformation address in IPProperties.MulticastAddresses)
{
Console.WriteLine(address.Address);
}
}
}
}https://stackoverflow.com/questions/7813173
复制相似问题