Поиск точного устройства в локальной сети Java/Android

Я разрабатываю приложение Java, которое должно прослушивать определенный порт на компьютере с помощью сокетов. Другое приложение, которое будет работать на устройстве Android, подключенном к тому же Wi-Fi, должно найти этот компьютер с моей программой Java.

Как найти компьютер в сети?

Я пробовал это в небольшой локальной сети (где все устройства подключены к 192.168.*.*) с использованием InetAddress.getByName(ipAddress).isReachable();, но в более крупной сети (например, eduroam или мой школьный WiFi) я не могу сканировать всю сеть.

Есть ли другой вариант, как подключить два устройства друг к другу, кроме использования сокетов и сканирования всей сети?


person Lukas Forst    schedule 20.03.2017    source источник
comment
Ваше Android-приложение заранее знало IP-адрес компьютера? Или вы просто проверили все адреса в вашей сети и надеялись на ответ?   -  person Bartek Lipinski    schedule 20.03.2017
comment
Нет, приложение для Android не знает IP-адрес, все именно так, как вы сказали, приложение просто пробовало все адреса и надеялось на ответ. Я знаю, что это очень скучно, но пока не знаю, как это сделать лучше.   -  person Lukas Forst    schedule 20.03.2017
comment
Мало того, что это скучно, так еще и, если сеть правильно спроектирована, вы просто не сможете этого сделать. Меры безопасности не позволят. Вот почему это не работало в большой сети.   -  person Bartek Lipinski    schedule 20.03.2017


Ответы (1)


Я не уверен, что понимаю все ваши системные требования, но я думаю, что вы могли бы создать очень маленькую базу данных на хостинговом сайте (например, это), и ваш компьютер будет периодически загружать свой частный IP-адрес в эту базу данных.

Затем, когда вам нужно подключиться к ПК на вашем устройстве Android, вы запрашиваете базу данных и определяете текущий адрес ПК, а затем подключаетесь к устройству.

person Rishi Latchmepersad    schedule 20.03.2017
comment
Вау, это выглядит довольно хорошо, я пройду через это, спасибо. - person Lukas Forst; 20.03.2017
comment
Без проблем. Не стесняйтесь задавать дополнительные вопросы, если вам нужна помощь в настройке. - person Rishi Latchmepersad; 20.03.2017