当前位置: 首页 > 知识库问答 >
问题:

socket.io中的连接限制

陶烨赫
2023-03-14

使用带有socket.io的nodejs服务器和客户机,我可以让14K个客户机进行连接。即使在使用集群时也略少。

CPU和RAM都没有耗尽。除了socket.io自己执行的自动ping之外,不会传输任何数据。

如果机器不够强大,我可以理解。但是,我希望服务器无论如何都会随机删除客户端,而不是每次尝试时都保持特定的数量。

编辑:这是在Windows上使用网络Storm,我会在Linux机器上测试,当我可以的时候。

共有1个答案

汪文光
2023-03-14

我在用socket.io测试https://www.codiva.io时遇到了类似的问题。问题是打开的文件描述符的数量受到限制,因此端口的数量也受到限制。它是在Ubuntu Linux中,默认的限制是4K左右。这可能与此有关。

 类似资料:
  • 在连接上创建infinte循环!很奇怪,直到现在才发生。我不知道出了什么问题。我试图重建包,我复制一些代码从旧的源代码和相同的结果...

  • 问题内容: 在我的node.js / Express.js应用程序中,我需要通过socket.io连接传递参数(请参见另一篇文章)。 在客户端,我有类似的东西: 编辑 在服务器端: 编辑 但是控制台中什么也没有。 还有另一种方法可以实现吗? 编辑2 这是客户端的完整代码: 以及服务器端的完整代码: 具有功能: 感谢你的帮助 问题答案: 就在这里。 1)就像参数一样,因此请替换为(如果您想传递多个参

  • 问题内容: 这是我使用socket.io作为WebSocket并使用pub / sub redis后端的代码。 每个新的io请求都将创建新的Redis连接。如果有人打开带有100个选项卡的浏览器,则Redis客户端将打开100个连接。看起来不太好。 如果Cookie相同,是否可以重用Redis连接?因此,如果有人打开许多浏览器选项卡,也将其视为打开1连接。 问题答案: 实际上,如果要在“连接”事件

  • 问题内容: 在生产中,我有一个使用连接局部变量保存游戏状态的游戏。但是,我注意到,如果我在连接上闲置了一段时间,它将断开连接并重新连接,这将丢失当前状态。在本地主机上进行测试时,我从未注意到此行为。这是套接字连接的规范行为,还是导致连接断开的其他原因。 如果是正常行为,通常如何处理?是否应该将连接值全局存储,以便用户断开/重新连接时可以恢复连接值? 问题答案: 您的问题与套接字超时有关。如果某个套

  • 问题内容: 我正在尝试使用laravel开发实时聊天应用程序。我遇到了问题。当我运行“ node index.js”时,在命令提示符下连续显示“连接已建立”消息。 我的index.js文件是: 我的index.html页面是: 我该如何解决? 问题答案: 客户端不断尝试一遍又一遍地进行连接的通常原因是,因为客户端和服务器版本的socket.io不匹配,导致它们不兼容。您没有显示如何在网页中加载so