MQTT实战

` // const MQTT_URL = "ws://192.168.50.221:8083/mqtt";

        // const MQTT_PORT = 8083;
        const MQTT_TIMEOUT  = 4000;
        // const MQTT_TOPIC = "device/field/update/CR-7iA/WS01_PL04_01/INP_CURRENT";
        try {
            if(item.url?.length){
            let url = new URL(item.url);
            let port = url.port;
            if(port?.length){
                let c = mqtt.connect(`${item.url}`, {
                    port: `${port}`,
                    connectTimeout: MQTT_TIMEOUT,
                    keepalive: 5,
                    clientId: "mqtt_t_sub" + new Date().valueOf()
                });

                c.on("connect", e => {
                    console.info("========= SUBSCRIBER CONNECTED");
                    c.subscribe(`${item.topicUrl}`, {}, (err, granted) => {
                        // console.info(err, granted);
                        if (granted) {
                            c.on("message", (topic, payload, packet) => {
                                // console.info(">> " + payload.toString());
                                let stringData = payload.toString(),objData;
                                if(stringData.includes('{') || stringData.includes('[')){
                                    objData = JSON.parse(stringData);
                                }
                                else if(payload.buffer){
                                    objData = new Int32Array(new Uint8Array(payload).buffer);
                                }
                                // console.info(">>JSON.parse(stringData) ", objData);
                                _this.callbackFun(item, objData);
                            });
                        }
                    });
                });
                c.on("disconnect", e=>{
                    console.info("========= DISCONNECTED", e);
                })
                c.on("error", e=>{
                    console.info("========= SUBSCRIBER ERROR...", e);
                })
            }
        }
        }
        catch (e) {
            console.log(e);
        }

`
先上代码
MQTT(websocket)类型

入门教程【http://blog.itpub.net/6995813...

你可能感兴趣的:(mqtt前端)