Задать вопрос

Как организовать взаимодействия java-сервера и android-клиента в локальной сети?

Суть такая: на компьютер устанавливается приложение, которое выполняет роль сервера для локальной сети. Приложение-клиент на андроид устройстве должно подключаться к этой же локальной сети и прокидовать на сервер некоторые данные. Все казалось бы отлично - сервер прекрасно работает, но вот андроид не хочет подключаться по схеме new Socket("localhost", port); Для теста написал клиент на пк - все работает при таком объявлении. Умом понимаю, что надо делать что-то со стороны андроида и разбираться в этом, первая мысль - возможно стоит указать более явный IP, но я не уверен что проблема в этом, конечно. Если можете в целом подсказать решение проблемы и как организовать взаимодействие в локальной сети - буду очень благодарен.
З.ы подразумевается, что "сервер" на пк - приложение, которое может поставить любой человек и взаимодействовать с ним со своего телефона.
З.ы.ы при явном указании ip адреса конект происходит, только вот вопрос опять же в том, что на каждом новом компе он свой. Моя мысль - выводить на пк айпи, который необходимо будет ввести в мобильном клиенте для конекта. Не очень нравится это решение, хотелось бы услышать более грамотные решения
  • Вопрос задан
  • 897 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Конечно же к localhost андроид не подключится! Так как localhost соответствует адресу 127.0.0.1, который отвечает за локальный (loopback) интерфейс своего же устройства. Этот адрес есть на каждом устройстве или компьютере и создан для взаимодействия сетевых программ внутри операционной системы.
Другими словами, Вам нужно указывать для подключения ip-адрес компьютера, на котором зпущен сервер.
Ну и для обмена вполне подойдет протокол http/https, и подключаться легче и свой протокол писать не нужно, и куча фреймворков-библиотек есть для этого. На клиентской стороне вполне подойдет httpok, на серверной - springboot, jooby, spartjava и пару десятков других, включая tomcat и jetty.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы