在实时应用程序中始终通过 http 使用 websocket 会更好吗? [关闭]

Posted

技术标签:

【中文标题】在实时应用程序中始终通过 http 使用 websocket 会更好吗? [关闭]【英文标题】:Is it better to always use websockets over http in a realtime app? [closed] 【发布时间】:2020-10-06 10:18:40 【问题描述】:

我正在创建一个使用 websockets 的聊天应用程序,我想知道使用 HTTP 请求发送消息并仅使用 websockets 通知客户端是否是一种不好的做法?

如果服务器必须在将消息发送回其他客户端之前无论如何都要处理它,那么通过 websockets 而不是 HTTP 发送消息有什么好处吗?

【问题讨论】:

取决于您发送的内容,所以我会说这并不总是不好的做法。如果您发送浏览器可以缓存的内容,则 HTTP 具有优势。 【参考方案1】:

在很多情况下,websocket 比 HTTP 更快,尤其是对于大量并发请求。有关性能比较,请参阅 here。

对于相对简单的用例,例如负载较低的聊天应用程序,使用 HTTP 发送消息应该没问题。虽然性能可能会稍差。

我个人会发现通过 websockets 发送消息更容易(也更简洁),尤其是在 socket 已经为客户端接收消息打开的情况下。

【讨论】:

以上是关于在实时应用程序中始终通过 http 使用 websocket 会更好吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Firebase Realtime Web 始终返回 True 到 snapshot.exists()

Web前后端交互方式

rsync结合inotify实现实时同步

WhatsApp 之类的应用程序是不是始终与服务器保持实时连接?

使用 Google Speech to Text API 从 Web 应用程序中的麦克风捕获实时音频 [关闭]

使用字幕为 HTTP 实时流编码视频