Я пытался настроить приложение, которое позволяет общаться между двумя устройствами, сервером и клиентом. Я установил соединение и могу отправлять сообщения между ними до тех пор, пока они подключены к одному и тому же источнику Интернета. Когда я подключаю устройства к двум различным источникам, я не могу установить связь между ними. Он работает, введя IP-адрес сервера, к которому вы хотите подключиться.Сервер на Android доступен с устройств не в локальной сети?
Например, если мое серверное устройство подключено к домашнему Wi-Fi, и мое клиентское устройство подключено к тому же маршрутизатору Wi-Fi, связь работает как предполагается. Но когда я подключаю сервер к Wi-Fi и моему клиенту к сотовым данным (или к другому маршрутизатору Wi-Fi), клиент не может найти сервер.
Из всех поисковых запросов, которые я сделал, я обнаружил, что это связано с тем, что мой сервер привязан к локальному хосту. Итак, мой вопрос: Как я могу сделать свой сервер доступным из любого места, независимо от того, к какой сети вы подключены?
Я использовал этот учебник, чтобы получить мой сервер работает:
http://android-er.blogspot.com/2014/02/android-sercerclient-example-server.html
Самый первый комментарий вопрос, который спрашивает, почему он работает только в локальной сети, и кто-то ответил говоря, вы должны установить переадресация портов на вашем маршрутизаторе. Насколько я понимаю, это будет работать только в том случае, если серверное устройство всегда подключено к одному маршрутизатору. Это не относится к моему приложению. Сервер будет иметь новый IP-адрес, поскольку устройство изменяет сети. Я хочу, чтобы этот IP-адрес всегда был доступен независимо от того, к какой сети подключен сервер.
Может ли кто-нибудь сказать мне, возможно ли, чтобы серверы работали независимо друг от друга на каждом телефоне, который запускает приложение, но по-прежнему доступны по всему миру? – Restnom