gpt4 book ai didi

node.js - Express 和 Socket.io - 最佳实践

转载 作者:太空宇宙 更新时间:2023-11-03 22:32:19 25 4
gpt4 key购买 nike

我现在正在使用服务器端的 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 服务器(由于结合了 socket.ioExpress)是否可能会导致一些限制允许连接到服务器的数量。
我的网站应该在同时使用 1,000 个连接的情况下持续存在。

所以,问题是:

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

非常感谢!

最佳答案

问题5的答案:

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

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

示例:

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

HTTPS 请求相同。

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

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

关于node.js - Express 和 Socket.io - 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34852896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com