Express&Socket.io – 最佳实践
我现在正在使用Express
框架,服务器端的socket.io
包和NodeJS
以及socket.io-client
的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.io
和Express
的结果,可能会导致一些限制,允许连接到服务器的数量。
我的网站应该坚持使用1000个连接立即。
所以,问题是:
- 在端口上使用
http server
监听连接数量是否比app
variables更多? - 什么是一次
socket.io
连接的最大数量? 有没有什么已知的问题呢? -
http server
的agentPool
是否限制连接数量? -
http server
的_maxListeners
是否限制连接数量? - 我应该使用
app.listen(80)
还是server.listen(80)
? 为什么?
此外,如果您在使用socket.io,Express和node.js时有任何build议/最佳实践或已知问题,我将很乐意学习:-)
非常感谢!
问题5的答案:
HTTP
请求的默认端口是80
, HTTPS
是443
。
如果使用其他端口而不是默认端口,则必须在URL请求中指定端口号。
例:
域名: example.com
,端口: 3000
。 请求的URL将是http://example.com:3000
域名: example.com
,端口: 80
。 请求的URL将是http://example.com
在HTTPS
请求的情况下也是如此。
不使用默认端口有以下问题:
- 显示应用程序运行的端口。
- 电信服务提供商可能已经阻止了默认端口以外的端口,因此您的应用可能无法访问。