我现在已经在网上爬了大约5个小时,但找不到我的问题的解决方案:
我的公司正在开发一款教育游戏,我正在使用Monotorrent为它编写一个autoupdater.该游戏将在学校中使用,但由于大多数学校只有非常弱的互联网连接,因此网络中只应有一台从httpseeder下载的计算机,其他计算机应该从一台从httpseed下载的计算机中获取.
因此,我从跟踪器获取大量IP地址,并且只需要过滤掉LAN中的IP地址.
当然,学校有时对防火墙非常严格,学校的某些计算机之间会有大量的路由器和交换机.
我已经尝试过大多数解决方案,例如
NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface iface in interfaces)
{
IPInterfaceProperties properties = iface.GetIPProperties();
foreach (UnicastIPAddressInformation address in properties.UnicastAddresses)
{
Console.WriteLine(
"{0} (Mask: {1})",
address.Address,
address.IPv4Mask
);
}
}
Run Code Online (Sandbox Code Playgroud)
或者类似的技术只提供路由器/交换机/其他信息.
简而言之,我想要做的是检查是否可以通过LAN访问给定的IP.
我真的很感激任何帮助,因为这个功能是剩下的最后一个:)