2013-02-26 122 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

相关问题