收藏
回答

小程序MQTT真机测试什么都没问题,发到线上为体验版时连接不上?

小程序使用mqtt时,在开发者工具,真机测试,预览时都能够正常的连接订阅主题,也能收到消息,但是发到线上,体验版的话就不行了,就一直连接不上,这是什么操作?

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

3 个回答

  • 吴迪
    吴迪
    2019-09-12

    wss?

    2019-09-12
    有用 1
    回复 14
    • 冯征
      冯征
      2019-09-12
      后台配置的是wss:// 代码请求是wxs:// 但是用代码写wss:// 报错ws不是一个构造函数
      2019-09-12
      回复
    • 吴迪
      吴迪
      2019-09-12回复冯征
      调用必须是wss才行,就像接口必须是https
      2019-09-12
      回复
    • 冯征
      冯征
      2019-09-12回复吴迪
      那报错ws不是一个构造函数,怎么解决呀
      2019-09-12
      回复
    • 吴迪
      吴迪
      2019-09-12回复冯征
      发你的代码看看呢
      2019-09-12
      回复
    • 冯征
      冯征
      2019-09-12
      let client = connect('wxs://xxxx:8084/mqtt', {
           clientId: 'wss_'+num,
           username: "",
           password: ""
         })
         wx.showToast({
           title: client.connackTimer.toString()
         })
         console.log(client)
         try {
       
         client.on('connect', (e) => {
           console.log(e)
           console.log('mqtt连接成功')
           wx.showToast({
             title: 'mqtt连接成功'
           })
           var productCode = this.data.productCode
           var productSecretKey = this.data.productSecretKey
           console.log(productCode, "'.......code'", productSecretKey, "'......key'")
           var str = 'NDFLift/POST/' + productCode + '/' + productSecretKey + '/CmdBack'
           console.log(str)
           client.subscribe(str)
         })
         
         
         }catch(error){
           wx.request({
             url: app.globalData.apiurl + 'api/Log/CreateRecord',
             data:{
               "param": error,
             },
             method: 'POST',
             header: { 'content-Type': 'application/json' },
             success: function (res) {
               console.log(res)
               }
           })
         console.log(error)
         wx.showModal({
           title:error
         })
         }
         client.on('error', error => {
           console.log(error)
           wx.showModal({
             title:error
           })
         })
         client.on('message', (topic, message) => {     // message is Buffer
           console.log('收到消息:' + message.toString())
           var obj1 = JSON.parse(message)
           console.log(obj1)
           var newObj = obj1.CmdResult
           that.setData({
             newObj1: newObj
           })
           console.log(newObj)
           var IsLiftingObj = newObj.IsLifting
           var IsSuccessObj = newObj.IsSuccess
           var LiftingDirectionObj = newObj.LiftingDirection
          
         
          
           }
         })
       },


      2019-09-12
      回复
    查看更多(9)
  • 神经蛙
    神经蛙
    05-11

    楼主解决了吗?上线后,体验版就是连接不上,wxs

    05-11
    有用
    回复
  • 杪秋io
    杪秋io
    2020-01-09

    楼主你好,我这跟你的差不多 不过我的真机测试也连接不上,您知道什么原因吗?

    2020-01-09
    有用
    回复 4
    • 冯征
      冯征
      2020-01-09
      真机测试都没连上的话应该是mqtt版本问题,建议还是用socket
      2020-01-09
      回复
    • 杪秋io
      杪秋io
      2020-01-09回复冯征
      那您用的mattjs能发我一下吗
      2020-01-09
      回复
    • 冯征
      冯征
      2020-01-09回复杪秋io
      加我微信吧,我发你
      2020-01-09
      回复
    • 十二
      十二
      2020-04-02回复冯征
      你好,最好是怎么解决的呢  我在开发设置里配置了,但还是没用
      2020-04-02
      回复
登录 后发表内容
问题标签