2010-08-18 28 views
4

我知道我可以創建一個TCP服務器一樣,在node.js中怎麼聽在node.js中隨機TCP套接字

var dataServer = net.createServer(function (stream) { 
}); 

dataServer.on("listening", function() { 
    // this data server listen to a random port 
    // but how can I get the number of port 
    console.log(dataServer.localPort) 
} 

dataServer.listen(0, '0.0.0.0'); 

但我不知道怎麼弄的端口號和發送到另一項服務。

或者我應該找到一個隨機可用的端口並傳遞給dataServer.listen?

回答

7

您可以使用address方法找到服務器正在偵聽的地址和端口。

dataServer.address(); 
// => { address: '0.0.0.0', port: 49717 } 
+0

你知道這個太答: http://stackoverflow.com/questions/3520475/how-can-a-node-js-socket- 服務器,知道,這-IP-或-domain-that-the-client-connect-t 謝謝 – 2010-08-19 09:40:06

+0

這個自動賦值會給我一個當前沒有使用的端口嗎?我怎樣才能限制隨機分配,就像在一系列數字之間一樣? – CMCDragonkai 2013-10-02 00:29:45