Cordova开发app——Websocket掉线问题

在Cordova+Vue开发的APP中遇到WebSocket掉线问题,安卓和苹果手机在后台运行时容易掉线。通过监听WebSocket的'close'事件进行重连,但长时间锁屏仍会导致通信中断。尝试使用HTML5的'visibilitychange'事件检测,但在iOS上无效。最后,利用Cordova的'pause'和'resume'事件,在应用暂停和恢复时检查并恢复WebSocket连接,有效解决了掉线问题。
摘要由CSDN通过智能技术生成

原文地址:http://www.brandhuang.com/article/1564810311319

在我们的Cordova+vue开发的app项目中,一直深受websocket掉线问题的困扰

安卓手机手机退到桌面或者锁屏后不知道个多少间就会掉线。当立进入app后就会发现消息收不到、消息接收不到

苹果手机一锁屏就掉线了。。。

因为websocket在连接不上服务器或者断开连接后,会执行一个「onclose」的方法,所以我们在这里面进行了重连的操作。

但是我们的app在使用过程中,如果锁屏时间长一点,还是会出现发送不了消息的情况,只有清掉app的后台,然后重新进入或者重新登录app(登录的时候会创建websocket链接)才会恢复正常

WebSocket.readyState一共有四种状态:

Value State Description
0 CONNECTING Socket has been created. The connection is not yet ope
1 OPEN The connection is open and ready to
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值