【问题标题】:Express & Socket.io - best practiceExpress & Socket.io - 最佳实践
【发布时间】:2016-03-24 05:02:28
【问题描述】:

我现在正在使用Express 框架、socket.io 包和服务器端的NodeJS 以及客户端的socket.io-client 进行项目。

这是代码示例:

var app = require('express')();
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
//...
server.listen(80);

我想知道使用http server 是否会因为结合socket.ioExpress 而导致对允许的服务器连接数的限制。
我的网站应该在一次使用 1,000 个连接的情况下持续存在。

所以,问题是:

  1. 使用http server 监听端口是否限制连接数超过app 变量?
  2. socket.io 一次连接的最大数量是多少?是否有任何已知问题?
  3. http serveragentPool 是否限制连接数?
  4. http server_maxListeners 是否限制连接数?
  5. 我应该使用app.listen(80) 还是server.listen(80)?为什么?
    此外,如果您在使用 socket.io、Express 和 node.js 时有任何建议/最佳实践或已知问题,我将很乐意学习 :-)

非常感谢!

【问题讨论】:

    标签: node.js express socket.io


    【解决方案1】:

    问题 5 的答案:

    HTTP 请求的默认端口是 80HTTPS 的默认端口是 443

    如果使用任何其他端口而不是默认端口,则必须在 URL 请求中指定端口号。

    例子:

    域名:example.com,端口:3000。请求 URL 将是 http://example.com:3000 域名:example.com,端口:80。请求 URL 将是 http://example.com

    HTTPS 请求的情况相同。

    不使用默认端口有以下问题:

    1. 显示应用程序运行的端口。
    2. 电信服务提供商可能阻止了默认端口以外的端口,因此您的应用可能无法访问。

    【讨论】:

      猜你喜欢
      • 2016-03-25
      • 1970-01-01
      • 2014-07-31
      • 1970-01-01
      • 2017-04-26
      • 1970-01-01
      • 2018-08-12
      • 2017-05-22
      • 2018-12-29
      相关资源
      最近更新 更多