nodejs来自远程PC的tcp测试

cou*_*011 0 centos node.js

这是简单的TCP服务器.运行此代码的VPS的实际IP是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");
Run Code Online (Sandbox Code Playgroud)

现在我试图ping这个服务器,而在同一个VPS上它回答我.但是当我试图通过命令从某个远程PC访问VPS时

nc 1.2.3.4 1337
Run Code Online (Sandbox Code Playgroud)

它没有回应.可能的原因是什么?

qia*_*iao 5

您正在侦听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内的其他地址可用于指代此网络上的指定主机