websocket心跳机制与重连机制
WebSocket 机制 心跳 重连
2023-06-13 09:17:20 时间
websocket改变了传统web项目请求响应的数据传输模型,实现了服务器与客户端之间的双向通信。其中服务器主动发送消息给客户端是它最重要的一点。
在一段时间的使用过程中,我们发现客户端与服务端之间的websocket连接可能会中断。目前发现的原因是nginx会中断60s内未通信的连接,虽然可以通过修改nginx配置文件让这个时间更长,但是终归不是最合理的解决方案。
这个时候心跳机制和断线重连机制就派上用场了。我们是这样做的,客户端定时给服务端发送ping,服务端收到ping消息给客户端返回pong。
如果客户端在发送ping以后的一定时间内收不到来自服务器的pong消息,则启动重连流程。通过这种心跳机制保证客户端与服务端的连接始终处于活跃状态。
这里面需要注意客户端定时器的开启时机以及关闭时机。如果不再合适的时机关闭定时器,客户端会越来越卡,直至内存溢出。
相关文章
- Java websocket_docker rocketmq
- error: Build input file cannot be found: ‘*******/node_modules/react-native/Libraries/WebSocket/libf
- PHP是如何实现websocket实时消息推送的
- SpringBoot2+Netty+WebSocket(netty实现websocket,支持URL参数)
- 关于 WebSocket 和 HTTP 区别的思考以及一个最简单的 WebSocket 的客户端和服务器实现
- Websocket待补充
- qt中Qtcpserver服务端_qt websocket
- Spring Boot + Netty + WebSocket 实现消息推送
- 升级HTTPS后WebSocket不能连接
- nginx 转发websocket_nginx配置websocket
- 使用 PHP WorkerMan 构建 WebSocket 全双工群聊通信
- 基于ChatGPT API和WebSocket的实时机器人聊天应用
- 【Android WebSocket】Android 端 WebSocket 基本用法 ( 添加依赖和权限 | 创建 WebSocketClient 客户端类 | 建立连接并发送消息 )
- HTML5 WebSocket