Широковещательный слушатель, использующий Java? - PullRequest
1 голос
/ 26 января 2011

У меня в сети работает DP (процессор данных, Java-код) и несколько клиентов C.Клиент должен связаться с ДП для обмена данными.Клиенту необходимо обнаружить DP с помощью широковещательного обнаружения.Клиент передаст сообщение, которое DP будет прослушивать, и ответит на наличие.Я не уверен, как добавить слушатель в Java для широковещательных сообщений, я пытался использовать DatagramSocket, но он запрашивает номер порта?DP должен прослушивать широковещательное сообщение, полученное на любом порту.

1 Ответ

1 голос
/ 26 января 2011

Если клиенты не используют что-то вроде ICMP, им тоже нужен порт.В обычном стеке TCP / IP широковещательная рассылка и многоадресная рассылка осуществляются с помощью UDP (да, это DatagramSocket на языке Java), поэтому требуется номер порта.Просто выберите порт, который вам нравится, чтобы он был гибким и предоставлял опцию конфигурации как для сервера, так и для клиентов.

Конечно, есть и другие варианты, например DNS SRV records многоадресная DNS / Bonjour , пользовательские протоколы IP и т. Д., Но с ними гораздо сложнее иметь дело.

...