Доступ к локальному хосту android извне

Я искал способ запустить node.js-сервер на моем устройстве Android. Я нашел хорошую статью, описывающую ее: https://medium.freecodecamp.com/building-a-node-js-application-on-android-part-1-termux-vim-and-node-js-dfa90c28958f#.xrh3v0du1. Я выполнил руководство и установил linux vm на своем устройстве и установил node.js. Мне удалось запустить мой node.js script и получить доступ к нему из браузера Android. Но я не могу найти способ открыть эту страницу за пределами моего устройства Android с помощью ip-адреса.

Ответ 1

Вы можете получить доступ к своему локальному хостингу Android с помощью Node, если ваш TelCo разрешить, следуя приведенным ниже инструкциям. Примечание: это действует только в том случае, если ваш мобильный телефон подключен с использованием вашего телефонного плана данных (данные 2-3-4-5... G) и не, когда он используя соединение wi-fi. Чтобы быть ясным: ваше приложение на вашем мобильном телефоне обслуживает контент только по методу ниже, если этот мобильный не, используя данные wi-fi.

1 - настроить учетную запись на сайте динамического dns-провайдера (хорошие планы всегда оплачиваются). Там вы настроите URL-адрес, например http://muhlinin.mydyndns.com, который будет указывать на динамический IP-номер;

2 - установите соответствующее динамическое приложение dns на свой мобильный телефон, это приложение переадресует ваш текущий номер IP в вашу динамическую учетную запись DNS, что гарантирует каждый запрос http://muhlinin.mydyndns.com всегда найдет ваш мобильный телефон для ответа на этот запрос, независимо от того, какой IP-адрес вашего мобильного телефона имеет в момент запроса;

3 - на вашем андроиде, работающем (например) Termux и Node, сделайте ваш сервер .js script прослушивать порт не по умолчанию (причина, по умолчанию, 80, может быть закрыто вашим TelCo), например, 8000, по динамическому URL-адресу, который вы получили после пунктов 1 и 2 выше. Что-то вроде этого: http://muhlinin.mydyndns.com:8000

Конечно, если ваш мобильный телефон выключится или соответствующее приложение dyn dns закрыто или не запущено, или ваш сервер Node закрыт или не запущен, каждый вызов http://muhlinin.mydyndns.com:8000 приведет к ошибке. Итак, чтобы все работало, вы должны выполнить предыдущие 3 шага правильно и  все открыто и запущено на вашем мобильном сервере:

1 - приложение dyn dns;

2 - Node.js runtime;

3 - your serverscript.js(который вы начнете с простого прогона node serverscript.js 'на Termux.

Ответ 2

Попробуйте запустить ifconfig в терминале и посмотрите запись wlan0 для поля inet addr:, чтобы найти свой ip на вашем Wi-Fi.