web mqtt 使用

最近项目开发完成,总结一下在web端使用mqtt,遇到的一些问题及解决方案

问题 1 后端mqtt发送消息,前端接收不到数据

         2 mqtt 同一个topic发送数据,web订阅topic数据丢失

         3 后端检测web端订阅topic用户人数错误

         4 uni-app 使用 mqtt无法连接

解决方案:1 后端发送数据,前端接收不到, 这个问题原因很多,服务器、网络、客户端都会有                         影响,所以我们改成了后端定时推送数据,保证前端能接收

                  2 后端通过同一个topic推送,但是web会存在消息丢失, 当后端的qos为2 时, 某个                         web用户通过topic接到消息, 后端则认为消息发送成功,不会继续发送,所以,订阅

                      该topic的其他web用户无法接收到数据,这个解决方案是,后端通过topic加用户id                          组成一个唯一的topic,确保用户能接收

                  3 后端检测web订阅topic web端用户人数错误,这是因为前端在连接mqtt时,clientId                         写死了,在连接mqtt时,必须生成随机clientId,确保每一个订阅用户clientId都不同,

                    也可以不写,mqtt库会自动生成一个随机clientId

                  4 uni-app mqtt连接不上,问题原因有很多(1)uni-app使用mqtt版本尽量使用3.0 ,                         插件demo推荐,(2)uni,app mqtt连接时,编译到app或小程序,如果是ws替换为                        wx,wss替换为wxs

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值