2012-01-08 46 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