Я просматривал Интернет около 5 часов и не смог найти решение своей проблемы:
Моя компания разрабатывает образовательную игру и я пишу для нее автоапдейтер с помощью Monotorrent. Игра будет использоваться в школах, но, поскольку в большинстве школ очень слабое подключение к Интернету, в сети должен быть только один компьютер, который загружается с https-сидера, а остальные должны загружаться с одного компьютера, который загружается с https-сидера.
Так что я получаю кучу 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
);
}
}
Или аналогичные методы только доставляют информацию о маршрутизаторе/коммутаторе/что-то еще.
Короче говоря, я хочу проверить, доступен ли данный IP-адрес через локальную сеть.
Я был бы очень признателен за любую помощь, потому что эта функция осталась последней :)