Tag: mosquitto

无法通过networking连接到蚊子

我在Linux上安装了带有websokets支持的最新的Mosquitto MQTT代理,并且编辑configuration文件来为websocket添加一个监听器。 我将这些行添加到configuration文件中: listener 1883 protocol mqtt listener 1884 protocol websockets 当我跑步 sudo /usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf 代理启动,控制台中的其中一行显示 Opening websockets listen socket on port 1884. 并没有进一步的错误。 我认为websocket的听众应该已经开始运行了。 当我用Node.js中的mqtt.jstesting代理时,mqtt运行良好,但是我无法通过websocket连接到代理。 JS代码: var wsClient = mqtt.connect('ws://my.server.address:1884') wsClient.on('connect', function(){ console.log('ws connected') }) wsClient.on('error', function(err) { console.log(err) }) 运行JS代码后,我看到没有错误或连接的消息。 经纪人也没有显示任何关于ws连接的消息。 奇怪的是,我把这个工作全部用在另一个Ubuntu系统上,但是在这个系统上,只有一个Red Hat系统,只有mqtt连接正在工作,ws似乎没有工作,但是两边都没有显示错误。 什么可能导致这个问题? 谢谢。 UPDATE 我试图在代理服务器上运行该程序,使用ws://127.0.0.1:1884作为目标,并将其连接。 但从远程机器,说我的笔记本电脑或其他服务器,websokcets仍然无法正常工作。

将外部MQTT发布者与NODE-RED连接

在我目前的项目中,我试图将外部温度传感器连接到NODE-RED。 我已经用外部传感器插入了MQTT。 该传感器正在使用tempMeasurement主题发布数据。 MQTT发布者的configuration如下: public class MQTTPublisher { // public static final String BROKER_URL = // "tcp://broker.mqttdashboard.com:1883"; public static final String BROKER_URL = "tcp://test.mosquitto.org:1883"; private MqttClient client; public MQTTPublisher() { try { client = new MqttClient(BROKER_URL, MqttClient.generateClientId(), new MemoryPersistence()); client.connect(); } catch (MqttException e) { e.printStackTrace(); } } public void publish(String topicName, int qos, byte[] […]

node.js mqtt从callback中发布给蚊子代理

我不确定在使用node.js时如何callback“排队”,这导致了一个担心。 我有一个tcp服务器从节点mqtt客户端接收消息。 当消息到达mqtt客户端的onMessagecallback时,调用一个方法将其发送给任何连接的TCP客户端。 服务器进程(在高峰期)每秒大约150个消息,每个消息大小为50-300字节。 偶尔会有“神秘”的locking。 服务器正在运行,但没有消息传递给客户端。 我想到在tcp服务器完成为“最后”消息服务客户端之前,可能会有一个“新”消息到达,我不确定这是否会混淆东西。 我希望function处理“老”的消息处理程序可能会被推到一个堆栈,以便稍后到达 – 当所有新消息已被服务时继续。 目前我没有使用任何互斥或其他设备来防止重叠调用传递消息的函数。 所以我的问题是,我是否应该相信节点和mqtt客户端来处理这种可能重叠到达的消息传递级别,还是需要构build某种节stream,排队或静音机制? 如果是这样, kue模块是否合乎逻辑?