设置定时器监听心跳, 设置10s , 结果2-3s 就发送数据,返回的数据 每次都在增加, 都不是每1 条,求大佬 解答

root_test
- 发布:2019-08-23 15:41
- 更新:2020-12-23 09:53
- 阅读:1012




ben168 - App developer
看了很多网上关于websocket 心跳的帖子,尤其是很多帖子用javascrypt 编程的例子,都是自己用timeout 方式实现向服务器发送‘心跳‘包来解决是否连线的问题。我认为这些帖子会误导开发者的。
因为, websocket 底层已经实现的心跳机制(ping / pong 包), 一般是服务端成功接受一个websocket 链接后,每隔一定的时间间隔(如5秒)就向客户端发送一个 ping, 客户端收到ping后,自动回复pong 包(这是底层实现的,不需开发者care)。
服务器端如果收不到对应的pong,则认为这个连接断开了,做close 处理。