【问题标题】:Using node.js to listen on 2 different ports使用 node.js 监听 2 个不同的端口
【发布时间】:2014-06-09 21:07:45
【问题描述】:

我目前正在使用 Sockets.io 与客户端通信,从端口发送 JSON 等。

这一切都很好,但我想做的是同时在另一个端口上监听以创建一种用于测试目的的管理页面。

例如,页面会有一个按钮,用于为连接在另一个端口上的所有客户端发送某种类型的 JSON。

如果这不理想,对其他简单解决方案的任何帮助都会很棒。

【问题讨论】:

    标签: node.js sockets webserver


    【解决方案1】:

    只需创建另一个 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
    

    【讨论】:

    • 有疑问,这会创建两个独立的进程,还是只创建一个?
    • @juancancela 它将创建一个单一进程,因为已知节点是单一进程,直到你明确地派生一个子进程,一切都将来自一个进程。
    • 酷,我们可以将多个套接字监听和集群结合起来吗?
    • @suresh 你会使用一个内置的集群模块,只用你所有的进程监听一个套接字。我认为多个套接字与单个套接字相比没有性能优势。
    猜你喜欢
    • 1970-01-01
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 2012-10-28
    相关资源
    最近更新 更多