首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MQTT协议在React中的应用

MQTT协议在React中的应用
EN

Stack Overflow用户
提问于 2018-02-23 09:37:57
回答 2查看 12K关注 0票数 4

我有点新的反应,并试图了解如何使MQTT与它一起工作。

我尝试遵循在这里发布的代码示例:https://www.npmjs.com/package/mqtt-react

但没有成功。出于某种原因,它只是什么都不做。

这是我的密码:

App.js类:

代码语言:javascript
复制
import React, { Component } from 'react';
import './App.css';
import PostMqtt from './PostMessage.js';
import {Connector} from "mqtt-react";

class App extends Component {
    render() {
        return (
            <div className="App">
                <PostMqtt/>
            </div>
        );
    }
}

export default () => (
    <Connector mqttProps="ws://test.mosquitto.org/">
        <App />
    </Connector>
);

PostMessage.js类:

代码语言:javascript
复制
import React from 'react';
import { subscribe } from 'mqtt-react';

export class PostMessage extends React.Component {

    sendMessage(e) {
        e.preventDefault();
        //MQTT client is passed on
        const { mqtt } = this.props;
        mqtt.publish('sensor', 'My Message');
    }

    render() {
        return (
            <button onClick={this.sendMessage.bind(this)}>
                Send Message
            </button>
        );
    }
}

export default subscribe({
    topic: 'sensor'
})(PostMessage)

有什么问题吗?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-01 20:16:00

经过长时间的研究,我找到了解决办法。

上面的连接器支持MQTT上的web套接字。默认的MQTT端口是1883年,它直接进入MQTT代理,而不是通过websockets,这就是它没有连接的原因。

解决方案是使用端口8080,即“WebSockets上的MQTT,未加密”(根据蚊子文档)。

因此,我所要做的就是将下一行更改为和它一起工作。

希望能帮上忙。

票数 5
EN

Stack Overflow用户

发布于 2018-10-19 15:51:45

我还遇到了websocket / mqtt协议问题。我正在使用本教程运行一个定制的mqtt代理。为了让message使用react,我找到了一篇描述如何将mosca绑定到http服务器的帖子。我丢失了链接,但下面是我用来将两者结合在一起的片段:

websocket-broker.js

代码语言:javascript
复制
var http     = require('http')
  , httpServ = http.createServer()
  , mosca    = require('mosca')
  , mqttServ = new mosca.Server({});

mqttServ.attachHttpServer(httpServ);

httpServ.listen(80);

然后开始我的经纪人,我只是做了一个简单的:

代码语言:javascript
复制
node websocket-broker.js

我希望这对今后处理这一问题的人有所帮助!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48944899

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档