ghsy816@sina.com
ghsy816@sina.com
  • 发布:2018-10-09 11:04
  • 更新:2020-10-30 10:50
  • 阅读:5605

uniapp 怎么连mqtt

分类:uni-app

折腾了几天,手机连接mqtt不成功

2018-10-09 11:04 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_GSQ

DCloud_UNI_GSQ

  • 如何连接百度的天工物MQTT接入啊?

    2020-09-13 20:12

fish.o@qq.com

fish.o@qq.com

我们也遇到这个问题,引入mqtt之后,浏览器运行没有问题,打包运行会失败,mqtt的包感觉没有正常引入。不过我们才去曲线救国的方式。将uni-app发布为h5程序,挂在服务器上,再用uni-app套个APP壳就解决了。

767852579@qq.com

767852579@qq.com

所以现在都8月份了,还没修复这个问题?

Trust

Trust - 少说废话

具体报什么错误,请补充一下。

另外,建议先开发一个简单的网页,看是否能够跑通。

ghsy816@sina.com

ghsy816@sina.com (作者)

我试过好几个js文件,小程序上和电脑web上都是可以连接成功的,就是在连接手机,在基座上测试都不行,打包成app也连接失败,麻烦帮我解决下,谢谢了

另外,在vue脚手架上建立的app,也是可以成功连接mqtt的

369551081@qq.com

369551081@qq.com

你好,你引入mqtt成功了没

ghsy816@sina.com

ghsy816@sina.com (作者)

引入成功了,在小程序工具上运行是连接成功的,我试了好几个js,小程序工具上都是成功连接的

  • 369551081@qq.com

    能不是给个dome或者说一下怎么连的,我连接都是报Paho is not defined错误

    2018-10-11 17:28

  • ghsy816@sina.com (作者)

    好,我现在给你

    2018-10-11 17:33

  • xiazhaoweiii@126.com

    我也没有引入成功,测试H5正常 APP不行

    2019-04-27 20:29

  • xiazhaoweiii@126.com

    你是怎样解决的,求指教,拜托了

    2019-04-27 20:29

  • hare426@163.com

    回复 ghsy816@sina.com: 同求 ,mqtt demo ,看下面代码是引入了paho-mqtt ,是使用mqtt.js 还不成功吗?

    2019-08-28 16:01

ghsy816@sina.com

ghsy816@sina.com (作者)

你们能给我个示例吗?谢谢了,我是用mqtt来控制设备的,折腾了好几天了,在小程序上,vue上,web 上都是成功连接的,但在uniapp的手机app端就连接超时,急用,能帮我解决下吗?谢谢了

ghsy816@sina.com

ghsy816@sina.com (作者)

import PahoMQTT from '@/common/js/paho-mqtt-min.js'
let client = new PahoMQTT.Client("mqtt.syniot.cn", 443, 'wx_' + Math.random().toString(16).substr(2, 8))
client.connect({
//timeout: 4000,
useSSL: true,
userName: "syniot",
password: "syniot",
cleanSession: true,
keepAliveInterval: 5,
reconnect: true,
mqttVersion: 4,
onSuccess: function() {
console.log('connected123')
setInterval(function() {
uni.showToast({
title: 'connected'
})
}, 2000)

            //监听关闭  
            client.onConnectionLost = function(responseObject) {  
                if (responseObject.errorCode !== 0) {  
                console.log("onConnectionLost:" + responseObject.errorMessage);  
                }  
            }     
            },  
            onFailure: function(err) {  
                console.log(JSON.stringify(err))  
                console.log('连接失败111')  
                setInterval(function() {  
                    uni.showToast({  
                        title: '连接失败',  
                        icon: 'none'  
                    })  
                }, 5000)  
            }  
        })
Trust

Trust - 少说废话

将源码项目,压缩成压缩包,上传一下,方便这边测试确认一下。感谢配合

ghsy816@sina.com

ghsy816@sina.com (作者)

模板上传了

ghsy816@sina.com

ghsy816@sina.com (作者)

你好,mqtt手机app端能连上了吗?

  • 369551081@qq.com

    小程序的可以连上,app的就是连不上

    2018-10-17 16:02

  • 369551081@qq.com

    https://ask.dcloud.net.cn/article/35070

    官方答复说是 已知的问题,预计下个版本修复更新。

    2018-10-17 17:32

  • 孔德润

    还没解决吗?我这也是遇到这个问题,用web页面运行都可以,但是模拟器就起不来

    2019-01-15 14:06

  • xiazhaoweiii@126.com

    回复 369551081@qq.com: 官方修复了吗,怎么还是连接不上

    2019-04-28 22:33

熠

MQTT可以通过三种方式连接,TCP直连, TLS和WebSockets,但是JavaScript使用TCP只能通过ws,所以你服务器要是TCP直连肯定是不成功的,会报 Error in connection establishment

11221077@qq.com
小瑞瑞

小瑞瑞 - 小瑞瑞

你们一月份的时候还说不能用,不知道现在修复了吗?我马上也要搞这个了,如果现在还是连不上mqtt的话,我就想其他方式啦!前边试水的大佬们麻烦回答一下,现在能连上 了吗

youlika1234

youlika1234

请问楼主已经解决手机端mqtt连接吗?

1048151913@qq.com

1048151913@qq.com - 前端女小白

AMQJS0010E WebSocket is not supported by this browser
报这个错,为什么,楼主的那个paho-mqtt-min.js能不能发一个?不晓得是不是我找的资源js不对还是什么问题

13911178682@139.com

13911178682@139.com - 无所事事

我刚弄,也是这种情况啊.你们现在有解决的办法了吗

459549857@qq.com

459549857@qq.com

求一个demo 谢谢

957835322@qq.com

957835322@qq.com

12:44:09.565 on reconnect at pages/index/index.vue:47
12:44:09.787 [Vue warn]: Error in event handler for "api.onSocketTaskStateChange": "TypeError: First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object."
12:44:09.827 (found )
12:44:09.848 TypeError: First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.

mqtt_connect(){  
                var mqtt = require('mqtt')  
                const MqttOpt = {  
                        clean: true, // 保留回话  
                        connectTimeout: 4000, // 超时时间  
                        // 认证信息  
                        clientId: 'mqttjs_9cd9985bb0',  
                        username: 'abc123',  
                        password: 'abc123'  
                }  
                // #ifdef H5  
                var client = mqtt.connect('ws://127.0.0.1:8083/mqtt',MqttOpt)  
                // #endif  
                // #ifdef MP-WEIXIN||APP-PLUS  
                var client = mqtt.connect('wx://127.0.0.1:8083/mqtt',MqttOpt)  
                // #endif  
                console.info(client)  
                client.on('connect', function() {  
                    console.info('on connect')  
                    client.subscribe('presence', function(err) {  
                        if (!err) {  
                            client.publish('presence', 'hello mqtt')  
                        }  
                    })  
                }).on('reconnect', function() {  
                    console.info('on reconnect')  
                }).on('error', function() {  
                    console.info('on error')  
                }).on('end', function() {  
                    console.info('on end')  
                }).on('message', function(topic, message) {  
                    console.log(message)  
                    console.info(message.toString())  
                })  
            }
柱子

柱子 - 柱子代码

楼主的那个paho-mqtt-min.js能不能发一个

要回复问题请先登录注册