运行Paho JavaScript示例由于连接循环而导致网络连接崩溃

时间:2018-06-26 10:42:13

标签: javascript mqtt mosquitto paho

我正在尝试通过websockets和paho javascript客户端连接到本地mosquitto mqqt代理。但是,使用https://www.eclipse.org/paho/clients/js/所示的示例会使我的网络连接崩溃。在chrome或控制台中,我发现了问题:一次又一次地建立连接(每秒两次调用onConnect函数)。

client.connect({onSuccess:onConnect});  
// called when the client connects
function onConnect() {
  // Once a connection has been made, make a subscription and send a message.
  console.log("Connection was successful");
  client.subscribe("World");
  message = new Paho.MQTT.Message("Hello");
  message.destinationName = "World";
  client.send(message);
}

在代理上,我可以看到客户端正在连接:

New client connected from 192.168.1.3 as web_78 (c1, k60, u'user123').

但是该消息不会被客户端广播。当我终止浏览器时,我在客户端上看到:

Socket error on client web_78, disconnecting.

当我尝试不同的Codeexample时,会发生同样的事情:https://jpmens.net/2014/07/03/the-mosquitto-mqtt-broker-gets-websockets-support/

我在Raspberry Pi上使用的是mosquitto版本1.5,但我真的不知道如何使它运行。也许问题出在mosquitto服务器而不是客户端?

这是我的mosquitto.conf中定义端口的部分

listener 9001
protocol websockets

其他客户端可以连接(例如通过paho python)和mqtt(不带网络套接字)。

pi@raspberrypi ~ $ sudo mosquitto -c /etc/mosquitto/mosquitto.conf
1530009485: mosquitto version 1.5 starting
1530009485: Config loaded from /etc/mosquitto/mosquitto.conf.
1530009485: Opening websockets listen socket on port 9001.
1530009485: Opening ipv4 listen socket on port 1883.
1530009485: Opening ipv6 listen socket on port 1883.
1530009485: New connection from 192.168.1.51 on port 1883.
1530009485: New client connected from 192.168.1.51 as DVES_9CE05F (c1, k15, u'johann').

任何帮助都将得到高度评价!

编辑更新:

问题一定在我的服务器上,因为我可以访问HiveMQ这样的公共代理。

0 个答案:

没有答案