Использование экспресс-веб-приложения в локальной сети [дубликат]

Если мы рассмотрим общие сценарии, в которых может быть выбрано это исключение, доступ к свойствам с объектом вверху.

Пример:

string postalcode=Customer.Address.PostalCode; 
//if customer or address is null , this will through exeption

здесь, если адрес равен нулю, то вы получите NullReferenceException.

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

string postalcode=Customer?.Address?.PostalCode;
//if customer or address is null , this will return null, without through a exception
22
задан theabraham 30 March 2011 в 18:38
поделиться

9 ответов

ваш сервер node.js работает на порту, определенном в конце скрипта. Иногда 3000. но может быть что угодно. Правильный способ доступа других - это, как вы говорите ...

http: //your.network.ip.address: port / , например. http://192.168.0.3:3000

проверьте, что у вас есть правильный порт - и IP-адрес в сети - не интернет-ip.

В противном случае , возможно, порты блокируются вашим маршрутизатором. Попробуйте использовать 8080 или 80, чтобы обойти это - в противном случае повторно настройте маршрутизатор.

36
ответ дан Billy Moon 31 August 2018 в 09:35
поделиться

Порт, вероятно, заблокирован локальным брандмауэром или маршрутизатором.

Но есть простое решение, для которого вам не нужно возиться с правилами брандмауэра, запускать узел как привилегированный процесс для обслуживания на порту 80 и т. Д. ...

Проверьте Localtunnel . Его отличный скрипт / сервис Ruby, который позволяет вам сделать любой локальный порт доступным в Интернете в считанные секунды. Это определенно не полезно для производственной установки, но, чтобы опробовать игру с коллегами, она должна работать нормально!

5
ответ дан alienhard 31 August 2018 в 09:35
поделиться

Убедитесь, что сервер запущен, либо с помощью «npm start», либо «nodemon» в окне командной строки.

-3
ответ дан Cameron Belt 31 August 2018 в 09:35
поделиться

Столкнулась с аналогичной проблемой с моим Угловым Node Server (v6.10.3), который настроен в WIndows 10. http://localhost:4201 отлично работал в localhost. Но http://{ipaddress}:4201 не работает на других машинах в локальной сети.

Для этого я обновил ng serve, как это

//Older ng serve in windows command Prompt

ng serve --host localhost --port 4201

//Updated ng serve
//ng serve --host {ipaddress} --port {portno}
ng serve --host 192.168.1.104 --port 4201

. После выполнения этой модификации можно получить доступ к моему приложению в другие машины в сети bt, вызывающие этот URL

http://192.168.1.104:4201  
//http://{ipaddress}:4201
6
ответ дан Geo V L 31 August 2018 в 09:35
поделиться

И не забудьте изменить в Index.html следующий код:

 <script src="http://192.168.1.4:8000/socket.io/socket.io.js"></script>
 <script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>

 var socket = io.connect('http://192.168.1.4:8000');

Удачи!

3
ответ дан RIYAZ 31 August 2018 в 09:35
поделиться

У меня был тот же вопрос и я решил проблему. В моем случае брандмауэр Windows (а не маршрутизатор) блокировал ввод / вывод V8 на хост-машине.

  1. Перейти к окну кнопки
  2. Поиск «Брандмауэр»
  3. Выберите «Разрешить программам общаться через брандмауэр»
  4. Нажмите «Изменить настройку»
  5. Отметьте все «Evented I / O для V8 Javascript» ИЛИ «Node.js» : Javascript на стороне сервера

Я предполагаю, что «Evented I / O для V8 Javascript» - это процесс ввода-вывода, который node.js связывается с внешним миром, и нам нужно его освободить прежде чем он сможет отправлять пакеты за пределы локального компьютера. После включения этой программы для связи через брандмауэр Windows я мог бы использовать любые номера портов для прослушивания.

17
ответ дан Sami 31 August 2018 в 09:35
поделиться
var http = require('http');
http.createServer(function (req, res) {
}).listen(80, '127.0.0.1');
console.log('Server running at http://127.0.0.1:80/');
2
ответ дан Siddharth 31 August 2018 в 09:35
поделиться

У меня была эта проблема. Решение состояло в том, чтобы разрешить node.js через брандмауэр сервера.

4
ответ дан Stephen Kennedy 31 August 2018 в 09:35
поделиться

По умолчанию узел будет запускаться на каждом IP-адресе, выставленном хостом, на котором он запущен. Вам не нужно ничего особенного делать. Вы уже знали, что сервер работает на определенном порту. Вы можете доказать это, используя этот IP-адрес в браузере на этом компьютере:

http://my-ip-address:port

Если это не сработало, возможно, ваш IP-адрес неверен.

1
ответ дан Sumant Bagade 31 August 2018 в 09:35
поделиться
Другие вопросы по тегам:

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