收藏
回答

微信小程序websocket和mqtt同时连接出现的问题?

我是微信小程序的前端。在我们项目里,有即时通讯的聊天功能,也有硬件控制的开灯关灯功能。

“聊天功能”通过连接wesocket的长连接来实现。“硬件控制的开灯和关灯”通过连接mqtt来实现。但是问题来了

当我websocket和mqtt同时连接的时候。会冲突掉其中一个,就是其中一个不能用。

意思就是,当注释掉websocket的连接方法之后,mqtt就能正常连接。

当两种连接方法,都存在的时候,mqtt的连接方法,就无法触发。


请问是什么原因呢?




回答关注问题邀请回答
收藏

1 个回答

  • alan🥱
    alan🥱
    2019-10-16

    你可以去看看小程序端mqtt实现的源码,回调事件监听用的应该还是wx.onSocketMessge也就是说是单例的,没有用到task,如果你想做到并存,需要改成socketTask的方式实现

    2019-10-16
    有用
    回复 7
    • 杰仔
      杰仔
      2019-10-16
      谢谢大佬,好复杂啊!感觉根本不会改。
      2019-10-16
      回复
    • 杰仔
      杰仔
      2019-10-16
      我达不到,这个水平。。呜呜
      2019-10-16
      回复
    • alan🥱
      alan🥱
      2019-10-16回复杰仔
      你的聊天功能是用的socketTask的onMessage还是直接用的全局的onMessage
      2019-10-16
      回复
    • 杰仔
      杰仔
      2019-10-16回复alan🥱
      用 onMessage 方法
      2019-10-16
      回复
    • alan🥱
      alan🥱
      2019-10-16回复杰仔
      你可以把你的websocket改成用socketTask,这样你不需要动mqtt的源码
      2019-10-16
      回复
    查看更多(2)
登录 后发表内容
问题标签