您现在的位置是:主页 > news > 制作企业网站新闻列表页面网页设计/云搜索app

制作企业网站新闻列表页面网页设计/云搜索app

admin2025/5/2 4:18:04news

简介制作企业网站新闻列表页面网页设计,云搜索app,php网站开发工程师面试,.电子商务网站规划公司是做物联网相关产品的,这段时间项目组遇到了uniapp打包的android离线apk,出现mqtt频繁断开&重连的问题,如果你看到这篇文章,说明你运气好,恭喜你,你的问题可以被解决了。 我们使用的mqtt.js版本是…

制作企业网站新闻列表页面网页设计,云搜索app,php网站开发工程师面试,.电子商务网站规划公司是做物联网相关产品的,这段时间项目组遇到了uniapp打包的android离线apk,出现mqtt频繁断开&重连的问题,如果你看到这篇文章,说明你运气好,恭喜你,你的问题可以被解决了。 我们使用的mqtt.js版本是…

公司是做物联网相关产品的,这段时间项目组遇到了uniapp打包的android离线apk,出现mqtt频繁断开&重连的问题,如果你看到这篇文章,说明你运气好,恭喜你,你的问题可以被解决了。

我们使用的mqtt.js版本是@4.1.0 的mini版本,这边原版本和mini版本我都提供出来

@4.1.0 mini版下载地址:

https://unpkg.com/mqtt@4.1.0/dist/mqtt.min.js

@4.1.0 原版下载地址:

https://unpkg.com/mqtt@4.1.0/dist/mqtt.js

出现频繁断连和重连的原因可能是以下两点中的其中一点造成的:

1、mqtt.js底层没有对你调用它方法传入的callback函数做异常捕获(你传入callback函数里面不做异常捕获,会导致mqtt底层代码逻辑异常,导致频繁断连&重连问题发生),所以你所有的callback函数都需要增加try..catch..方法捕获异常(比如发布,订阅,监听等方法调用的时候的第二个callback函数)

2、我这边造成android真机频繁断开和重连的另一个原因是,我在App.vue文件中的onShow和onHide方法中没有添加创建和断开mqtt连接的调用,导致他会频繁断开,下面是我修改后的App.vue的源码:

<script>export default {onLaunch: function() {console.log('App Launch');uni.hideTabBar();// #ifdef APP-PLUSplus.screen.lockOrientation("portrait-primary");// #endif},onShow: function() {uni.hideTabBar();console.log('App Show');try {const network = this.$gStore.state.bind.mobile.isConnected;//console.log('network.isConnected=' + network);if (network) {this.$glzShadow.reconnectToMQTT();}} catch (e) {console.log('App onShow error: ' + e);}},onHide: function() {console.log('App Hide');try {this.$glzShadow.destroy(true, () => {console.log('mqtt closed.')});} catch (e) {console.log('App onHide error: ' + e);}}}
</script><style>/*每个页面公共css */
</style>

网上有人说是mqtt 4.x版本造成的频繁断开重连问题,说是3.x版本没问题,我们证实了一下,和mqtt的版本没关系,是网上那帮人自己写的代码逻辑有问题。

到此 uniapp mqtt频繁断开和重连问题(android真机)问题解决。