Express&Socket.io – 最佳实践

我现在正在使用Express框架,服务器端的socket.io包和NodeJS以及socket.io-clientsocket.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的结果,可能会导致一些限制,允许连接到服务器的数量。
我的网站应该坚持使用1000个连接立即。

所以,问题是:

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

非常感谢!

问题5的答案:

HTTP请求的默认端口是80HTTPS443

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

例:

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

HTTPS请求的情况下也是如此。

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

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