2013-02-26 124 views
21

我目前使用Sockets.io與客戶端進行通信,從端口發送JSON和whatnot。使用node.js在2個不同的端口上偵聽

這一切都很好,但我想要做的是同時監聽另一個端口來創建一個用於測試目的的管理頁面。

例如,頁面會有一個按鈕爲所有連接到其他端口的客戶端發送特定類型的JSON。

如果這不太理想,對其他簡單解決方案的任何幫助都會很大。

回答

42

只需創建另一個http實例,並將其放入您感興趣的端口中。讓我告訴你一個例子:

var http = require('http'); 

http.createServer(onRequest_a).listen(9011); 
http.createServer(onRequest_b).listen(9012); 

function onRequest_a (req, res) { 
    res.write('Response from 9011\n'); 
    res.end(); 
} 

function onRequest_b (req, res) { 
    res.write('Response from 9012\n'); 
    res.end(); 
} 

然後,您可以測試它(與您的瀏覽器,或curl):

$ curl http://localhost:9011 
Response from 9011 

$ curl http://localhost:9012 
Response from 9012 
+2

有一個疑問,這是怎麼回事創建兩個獨立的過程,或者只是一? – juancancela 2014-06-10 21:29:37

+2

@juancancela它會創建一個單獨的進程,因爲已知的節點是單個進程,直到你明確地分支一個子進程,一切都將來自一個進程。 – ShrekOverflow 2016-02-09 11:32:48

+0

酷,我們可以結合多個套接字偵聽和聚類? – suresh 2016-03-30 11:07:03

相關問題