Мой маленький сервер node.js отлично работает, но только хост-машина может подключиться к нему. Когда я пытаюсь подключиться к другим клиентам (которые подключены к тому же маршрутизатору, что и хост), я не получаю ответа. Сервер прослушивает порт 3000 (также попробовал 80, без разницы), я попытался установить IP-адрес хоста на IP-адрес хоста, 127.0.0.1 и оставил его пустым, но ничего не получилось. Как настроить мой сервер так, чтобы клиенты, отличные от хоста, могли подключаться?Как настроить мой сервер Node.js, чтобы клиенты могли подключаться?
ответ
- Установите слушать IP 0.0.0.0. Это слушает каждый интерфейс.
- Отключите брандмауэр, чтобы проверить, что это не проблема. Когда вы включите его, разрешите входящий и исходящий порт 3000 TCP.
Оказалось, что проблема связана с хостом и маршрутизатором маршрутизатора. Переключилось на ad-hoc-соединение между хостом и клиентом, и с первой попытки он работал как прелесть. – Centro
127.0.0.1 ваш локальный IP
, если вы используете WAMP или доли MAMP ваш сервер на IP.
Далее google check for whatsmyip
. Дайте свой адрес ip кому вы хотите поделиться своим файлом.
Или, если вы считаете, чтобы загрузить на сервер
кроме node_modules вы должны загрузить необходимые файлы и папки. На сервере попробуйте npm install
.
Убедитесь, что вы package.json
Если вы новичок в Nodejs. Попробуйте Heroku
https://scotch.io/tutorials/how-to-deploy-a-node-js-app-to-heroku
Это хорошие начальные шаги для развертывания - однако я не думаю, что операционная система пытается развернуть свой код, просто получить доступ к нему из своей локальной сети. – jpschroeder
Это действительно проблема сетевой маршрутизации, ей может потребоваться гораздо больше контекста. Вам нужно получить назначенный маршрутизатором ip-адрес; Обычно что-то вроде '192.168.xxx.xx'. то просто подключитесь через ваш браузер 'http: //192.168.xxx.xx: 3000' – jpschroeder
. Нужно ли мне использовать ip моего маршрутизатора или ip моего хост-компьютера в локальной сети? – Centro
Последнее, вам нужно ip вашего хост-компьютера в локальной сети. Конечно, если вы пытаетесь развернуть это за пределами вашей локальной сети, выполните несколько других шагов, но если я правильно прочитаю ваш вопрос, вы хотите просто подключиться в своей локальной сети. Получение этого ip может быть осуществлено несколькими различными способами в зависимости от вашей платформы. Предполагая, что вы находитесь на Mac или Linux (* nix), вы можете использовать эту команду терминала 'ifconfig', и вы должны увидеть строку где-то вроде:' inet 192.168.x.xxx netmask 0xffffff00 broadcast 192.168.x.xxx', который является вашей локальной сетью адрес – jpschroeder