Получить все возможные серверы в сети LAN - PullRequest
1 голос
/ 31 августа 2011

Я использую детали подключения к серверу с клиента здесь: http://www.eggheadcafe.com/articles/20020323.asp

Это довольно устарело, но мне просто нужно это для быстрого проекта. Мне нужен клиент для автоматического подключения. Эта программа будет работать только в локальной сети, есть ли способ узнать, на каком компьютере запущен сервер (т. Е. На всех компьютерах, на которых установлен конкретный сервер в порту x). Я видел это на нескольких играх, которые работают в локальной сети. Без доступа к Интернету им удается отобразить все доступные игры в локальной сети. Я делаю это с VB.net.

Спасибо!

1 Ответ

1 голос
/ 31 августа 2011

ЕСЛИ вы заставляете всех своих клиентов / серверов прослушивать определенный UDP-порт, вы можете просто выполнить многоадресную рассылку на этом UDP-порту и получить ответ от сервера (-ов) ... ИЛИ сервер просто выполняет многоадресную передачу на этот порт в определенный интервал времени. (т. е. раз в минуту / 10 секунд ...) ... таким образом, вы знаете сервер и, при необходимости, все клиенты в локальной сети ... многоадресная UDP-передача не покидает локальную сеть, так как обычные маршрутизаторы / брандмауэры будут нуждаться быть явно сконфигурированным, чтобы позволить многоадресному пакету UDP покинуть ЛВС ...

некоторые справочные ссылки, включая исходный код VB.NET:

...