У меня есть приложение для Android, которое взаимодействует с серверным приложением, работающим на Grails (Groovy на Grails).

Приложение Android в основном устанавливает соединение с этим адресом:

url="http://192.168.2.53:8080/tma/majBtm/androidToDesktop";

Все работает нормально, когда сервер и телефон Android подключены к одной локальной сети.

Теперь проблема возникает, когда я хочу, чтобы телефон разговаривал с сервером, когда телефон находится за пределами локальной сети (мне нужно, чтобы он использовал Edge).

Я сталкивался с сетями VPN, которые, я думаю, могут мне помочь (сервер имеет динамический IP)

Поэтому я перешел на dyndns.com, создал новое имя хоста и успешно запустил приложение на сервере. Хост, который я создал, был - tmagrails.dyndns.com

Как мне сделать так, чтобы мой телефон подключился к этой сети? Какие изменения я должен сделать, чтобы все заработало? Кроме того, я действительно хочу знать, является ли это правильным подходом. Если нет, есть ли какой-нибудь способ добиться успеха для меня?

1 ответ1

2

Забудь о VPN! Если ваш маршрутизатор имеет эту функцию (большинство из них ее поддерживают), вы можете включить переадресацию портов, например, вы можете перенаправить внешний порт 80 на внутренний порт 8080 вашего сервера:

external port 80 -> 192.168.2.53:8080

Таким образом, вы можете получить доступ к своему тестовому серверу извне без необходимости VPN (что довольно сложно настроить). Преимущество заключается в том, что большинство интернет-провайдеров не блокируют порт 80.

Если у вас уже есть DynDNS, то после включения переадресации портов вам нужно всего лишь перейти к:

http://tmagrails.dyndns.com/tma/majBtm/androidToDesktop

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .