客户端发送心跳包用http和socket的区别

发布于 2022-09-12 02:31:43 字数 42 浏览 38 评论 0

客户端发送心跳包是用http还是socket,两者各自的优缺点是什么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

2022-09-19 02:31:43

一个是主动请求 ,一个是常连接的双向管道

夏末 2022-09-19 02:31:43

我们用 http,优势:

  1. 实现简单
  2. 非游戏应用,实时性要求低,心跳频率低
¢蛋碎的人ぎ生 2022-09-19 02:31:43

难道用http的形式,可以服务端通知客户端么?能实现的方法也比较麻烦,没有socket那么方便

╄→承喏 2022-09-19 02:31:43
  1. 发送心跳包的目的一般是为了保持连接,客户端的HTTP请求无状态,用完即断,除了还在传输的时候需要保持连接(这个时候也不需要心跳啊),我想不到需要心跳保持的情况。

    1. 如果你是为了通过发送一个HTTP请求保持其他业务的心跳,那很方便。
    2. 如果你说的是serversentevent 心跳保持就是服务端随便推个字符,浏览器客户端忽略这个特殊心跳数据就完了,因为如果浏览器长时间没有收到数据,这个HTTP请求也会断掉。
  2. 至于socket双向支持心跳发送接收信息可以很简单,实时性很高,上面我说的HTTP相关内容都是在客户端为浏览器的情况下,在浏览器上直接支持的就是HTTP,如果使用socket,webbsocket的话服务端也需要特殊订制,难度高于普通HTTP以及SSE。如果不使用websocket而是基础socket的话,浏览器不支持,需要特定的客户端。

总结一下: HTTP在浏览器上方便、socket在浏览器上不方便、socket实时性更好

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文