发布网友 发布时间:2022-04-23 00:14
共1个回答
热心网友 时间:2022-04-20 06:50
uniapp是支持使用websocket协议的,不过原生的websocket协议是没有心跳检测、和断线重连机制的。
如何进行心跳检测和重连
思路是:
每隔一段指定的时间(计时器),向服务器发送一个数据,服务器收到数据后再发送给客户端,正常情况下客户端通过onmessage事件是能监听到服务器返回的数据的,说明请求正常。
如果再这个指定时间内,客户端没有收到服务器端返回的响应消息,就判定连接断开了,使用websocket.close关闭连接。
以上便是websocket心跳检测和断线重连的实现思路。
如果觉得做起来太麻烦,可以试试第三方的websocket推送框架,比如【GoEasy】,这些框架原生就自带websocket心跳检测和断线重连功能,同时对uniapp的支持也不错,算是uniapp生态里面做的最好的websocket框架了。项目地址:网页链接