Обнаружение сетевых устройств - PullRequest
7 голосов
/ 22 июля 2011

Для моего приложения Android пользователям необходимо подключиться к серверу, который будет размещен где-то в той же локальной сети.В одной локальной сети может быть несколько серверов.Чтобы было проще для пользователя, я собирался просканировать текущую локальную сеть, к которой подключено устройство Android, и затем перечислить все сетевые устройства, на которых запущен сервер, вместо того, чтобы пользователь вводил IP-адрес на компьютер.вручную.

Я довольно плохо знаком с сетью, и после некоторых поисков я обнаружил, что мне придется использовать многоадресный поиск DNS или широковещательную рассылку UDP для обнаружения других устройств.Я также нашел хорошую библиотеку под названием jmDNS, хотя я нашел очень мало документации и примеров кода на ней.Может ли кто-нибудь указать мне правильное направление для того, что я пытаюсь сделать, чтобы сэкономить потраченное время (в основном, если я на правильном пути)?Я предполагаю, что мне придется немного изменить свой сервер, чтобы он там транслировался?Он работает полностью, как и предполагалось, если я ввожу IP-адрес вручную на странице конфигурации в моем приложении.Кроме того, это нужно только для обнаружения компьютеров Windows, не уверен, если это важноЗаранее спасибо.

Ответы [ 2 ]

7 голосов
/ 22 июля 2011

Ну, jmDNS - это полная библиотека Java, которую вы можете использовать для своей установки. Его можно использовать для трансляции ваших услуг, которые могут искать другие клиенты.

Служба Bounjour на Windows немного сложнее, хотя это определенно возможно. Я бы сказал, что проще всего использовать jmDNS для широковещательной рассылки и обнаружения как для ваших серверов, так и для клиентов.

0 голосов
/ 22 ноября 2012

Вы будете запускать jDM или другую службу в своей локальной сети в качестве фоновой службы или dameon.

...