Reactjs 如何使用react websocket连接到MOSQUITO
npm安装react websocket后Reactjs 如何使用react websocket连接到MOSQUITO,reactjs,websocket,mqtt,mosquitto,Reactjs,Websocket,Mqtt,Mosquitto,npm安装react websocket后 我正在尝试连接Windows MOSQUITO(MQTT代理服务器) 然后,我在react源中设置了websocket地址,但无法从Mosquitto接收消息,也无法将任何消息发布到Mosquitto服务器 但它在由Java运行的glassfish服务器中工作 我认为Mosquitto和glassfish服务器是相同的websocket服务器,但它们之间似乎有区别 是否有使用react websocket库连接MOSQUITO代理服务器的解决方案 re
我正在尝试连接Windows MOSQUITO(MQTT代理服务器)
然后,我在react源中设置了websocket地址,但无法从Mosquitto接收消息,也无法将任何消息发布到Mosquitto服务器
但它在由Java运行的glassfish服务器中工作
我认为Mosquitto和glassfish服务器是相同的websocket服务器,但它们之间似乎有区别
是否有使用react websocket库连接MOSQUITO代理服务器的解决方案
react websocket库的版本是2.0.0
MOSQUITO MQTT代理服务器版本为1.5.4
import Websocket from 'react-websocket'
export default class WebsocketInput {
constructor(queue, onOpenCallback) {
this.queue = queue
this.websocket = new Websocket({
url: process.env.REACT_APP_WEBSOCKET_ADDRESS,
onMessage: function(data) {
queue.offer(JSON.parse(data))
},
onOpen: function() {
onOpenCallback()
}
})
this.websocket.setupWebsocket()
}
sendMessage(msg) {
this.websocket.state.ws.send(msg)
}
close() {
this.websocket.shouldReconnect = false
this.websocket.state.ws.close()
}
}
这是React代码,我是从下载的。我设置了url“ws://localhost:9001”,但在React应用程序中无法接收任何消息
port 1883
protocol mqtt
listener 9001
protocol websockets
这是mosquitto.conf文件的一部分。我通过键入mosquitto-v-cmosquitto.conf来运行服务器,并在Windows CMD中运行mosquitto服务器。
谢谢请分享您用于发布/订阅的代码。请注意,您使用的是“WebSocket上的MQTT”;需要实施;它比建立websocket连接和发送/接收文本更复杂。我建议使用MQTT库(示例包括和)。如果您不介意使用MQTT.js
,我可以共享一些对我有用的代码。如果您共享一些代码,我将不胜感激。感谢您添加代码;如前所述,您不能仅通过Websocket连接发送/接收字符串,而是需要实现MQTT协议(从数据包开始)。搜索“react mqtt”应该会让您找到许多示例(使用mqtt库)。#我非常感谢英国人对您的帮助。