2012-01-08 47 views
0

这里是简单的TCP服务器。在此代码运行VPS的实际IP是1.2.3.4远程PC上的nodejs tcp测试

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"); 

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

nc 1.2.3.4 1337 

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

回答

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以内可用于 参考此网络上的指定主机

+0

这是什么0.0.0.0?我的意思是背后的科学?因为localhost是127.0.0.1 – coure2011 2012-01-08 13:22:35

+1

请参阅http://tools.ietf.org/html/rfc5735#page-3 – qiao 2012-01-08 13:50:59