Поиск пиров в локальной сети - PullRequest
2 голосов
/ 23 ноября 2010

Я хочу реализовать в своей программе функциональность, которая позволит обнаруживать хосты, на которых работает одно и то же приложение в локальной сети.Для этого я открою в своей программе сокет UDP и присоединюсь к многоадресной группе по адресу 224.0.0.1 (при использовании IPv4) или ff02 :: 1 (при использовании IPv6).Затем я собираюсь уведомить других хостов, что я только что вошел в эту сеть.У меня есть два вопроса в соответствии с моей идеей:

  1. Это правильный способ сделать это или, может быть, есть лучшие решения?
  2. Какова общая политика использования многоадресной связи в локальных сетях (например горячие точки)?Обычно это возможно, или большинство маршрутизаторов блокируют или вообще не поддерживают многоадресную связь?

Я разрабатываю свое приложение на C ++ для Linux, в будущем я собираюсь написать версию для Windows на C #.

1 Ответ

1 голос
/ 23 ноября 2010

Это обычно ваш лучший вариант. Другим вариантом может быть широковещательная рассылка по протоколу UDP, но нет гарантии доставки, поэтому вы должны выполнять регулярную рассылку, чтобы другие приложения могли ее услышать.

Что касается политики, я только что проверил свою точку доступа Linksys Wifi, и по умолчанию многоадресная рассылка отключена. Я подозреваю, что много мест работает в этой конфигурации по умолчанию

...