Я создаю систему обнаружения устройств, используя широковещательное сообщение UDP.Я начал использовать UdpClient
и IPAddress.Broadcast
.
Решение работало для клиентов на локальной машине, но не для других клиентов в локальной сети.
Через на этот вопрос я обнаружил, что Win 7 блокирует широковещательные сообщения.Когда я вручную ввел адрес широковещательной передачи в локальной сети, он работал отлично.Теперь я хочу написать некоторый код, который будет перебирать все локальные сетевые адаптеры (что-то вроде NetworkInterfaces.GetAllNetworkInterfaces()
) и находить широковещательный адрес локальной сети для сети, к которой подключен каждый адаптер, если таковой имеется.
Имеет ли это смысл?Лучше всего было пропинговать локальную подсеть, которая будет совместима с Win 7, IPv6, IPv4 и т. Д. Другими словами, универсально совместима.
Спасибо!