tcp тест nodejs с удаленного ПК - PullRequest
0 голосов
/ 08 января 2012

Вот простой TCP-сервер. Фактический IP-адрес VPS, на котором работает этот код: 1.2.3.4

var net = require('net');

var server = net.createServer(function (socket) {
  socket.write("Echo server\r\n");
  socket.pipe(socket);
});

server.listen(1337, "127.0.0.1");

Теперь я пытаюсь пропинговать этот сервер, пока на том же VPS он мне отвечает. Но когда я пытаюсь получить доступ к VPS с какого-либо удаленного ПК с помощью команды

nc 1.2.3.4 1337

это не эхо. Какие могут быть возможные причины?

1 Ответ

5 голосов
/ 08 января 2012

Вы слушаете на 127.0.0.1, таким образом, он отвечает только на запросы, сделанные от localhost.Чтобы ответить другим хостам, вам необходимо прослушать 0.0.0.0.

ОБНОВЛЕНО : RFC5735 объясняет этот адрес следующим образом:

0.0.0.0/8 - Адреса в этом блоке относятся к исходным хостам в этой сети.Адрес 0.0.0.0/32 может использоваться как адрес источника для этого хоста в этой сети;другие адреса в пределах 0.0.0.0/8 могут использоваться для ссылки на указанные хосты в этой сети

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...