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