前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >websocket心跳机制与重连机制

websocket心跳机制与重连机制

作者头像
蛋蛋编程手记
发布2023-02-25 17:02:12
2.9K0
发布2023-02-25 17:02:12
举报
文章被收录于专栏:蛋蛋编程手记蛋蛋编程手记

websocket改变了传统web项目请求响应的数据传输模型,实现了服务器与客户端之间的双向通信。其中服务器主动发送消息给客户端是它最重要的一点。

在一段时间的使用过程中,我们发现客户端与服务端之间的websocket连接可能会中断。目前发现的原因是nginx会中断60s内未通信的连接,虽然可以通过修改nginx配置文件让这个时间更长,但是终归不是最合理的解决方案。

这个时候心跳机制和断线重连机制就派上用场了。我们是这样做的,客户端定时给服务端发送ping,服务端收到ping消息给客户端返回pong。

如果客户端在发送ping以后的一定时间内收不到来自服务器的pong消息,则启动重连流程。通过这种心跳机制保证客户端与服务端的连接始终处于活跃状态。

这里面需要注意客户端定时器的开启时机以及关闭时机。如果不再合适的时机关闭定时器,客户端会越来越卡,直至内存溢出。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-02-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 蛋蛋编程手记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档