socket.io:关于广播和最大连接的查询

Posted

技术标签:

【中文标题】socket.io:关于广播和最大连接的查询【英文标题】:socket.io : Queries around broadcasting and max connections 【发布时间】:2018-02-09 08:29:48 【问题描述】:

我是 Socket IO 开发的新手。我想知道它周围的以下内容:

    支持的并发 OPEN 套接字数量的最大限制?

    为生产调整节点服务器时需要特别注意的准则/额外注意。

    socket.io 是否确保消息传递?或者它是发送和忘记?是否还有任何节点模块在安装时会利用此功能?

    如果socket.io不支持消息传递;如何确保消息已成功发送和接收到预期的人?

【问题讨论】:

【参考方案1】:
    支持的并发 OPEN Socket 数量的最大限制?

这完全取决于您的环境、应用程序及其配置。 Socket.IO 有许多潜在的传输,其中一些甚至不需要持久连接。这个问题没有简单的答案,也不应该有。这是一个错误的问题。在通常情况下,Socket.IO 不会成为您的瓶颈……您的应用程序本身会。您应该问的是如何随着您的成长扩展您的应用程序......而答案取决于您的应用程序如何工作的细节。

    为生产调整 Node Server 时需要特别注意的准则/额外注意。

这方面有整本书。从 Node.js 文档开始。

    socket.io 是否确保消息传递?

Socket.IO 在默认配置中使用时是一种可靠的传输方式。当然,事情总是会丢失......毕竟是互联网......但是是的,重试会发生。我发现这是 Socket.IO 最好的部分之一,如果您需要确保消息能够到达那里,它会尽力做到这一点。

是否还有任何节点模块在安装时利用此功能?

什么功能?

    如果socket.io不支持消息传递;如何确保消息已成功发送和接收给预期的人?

是的,您可以使用 Socket.IO 传递消息……这就是重点。至于数据是否发送到正确的人,您只需将其发送到正确的地方。请记住,尽管其他人可能总是坐在电脑前....

【讨论】:

以上是关于socket.io:关于广播和最大连接的查询的主要内容,如果未能解决你的问题,请参考以下文章

使用 Socket.IO 可以多久发送一次数据?

如何将 socket.io 挂载到 fastapi 应用程序并向所有连接的客户端发送广播

Laravel Homestead , Socket.io 连接被拒绝

在 node.js 中使用 socket.io 通过 webrtc 广播实时音频

io() 函数前端——socket.io

增加到 node.js/socket.io 的最大连接