快递& Socket.io - 最佳实践

时间:2016-01-18 10:51:50

标签: node.js express socket.io

我现在正在使用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 serversocket.io的组合,使用Express是否会对允许的服务器连接数造成一些限制。
我的网站应该一次使用1,000连接。

所以,问题是:

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

1 个答案:

答案 0 :(得分:0)

回答问题5:

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

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

示例:

域名:example.com,端口:3000。请求网址为http://example.com:3000 域名:example.com,端口:80。请求网址为http://example.com

HTTPS请求的情况相同。

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

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