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

运行Paho javascript示例会由于connect循环而导致网络连接崩溃,javascript,mqtt,mosquitto,paho,Javascript,Mqtt,Mosquitto,Paho,我正试图通过websockets和paho javascript客户端连接到本地的mosquitto mqqt代理。但是,使用上显示的示例会使我的网络连接崩溃。在chrome或ie控制台中,我发现了问题:连接是一次又一次地建立的(每秒调用多次onConnect函数) 在代理上,我可以看到客户端正在连接: New client connected from 192.168.1.3 as web_78 (c1, k60, u'user123'). 但是该消息不会被客户端广播。当我终止浏览器时,我在

我正试图通过websockets和paho javascript客户端连接到本地的mosquitto mqqt代理。但是,使用上显示的示例会使我的网络连接崩溃。在chrome或ie控制台中,我发现了问题:连接是一次又一次地建立的(每秒调用多次onConnect函数)

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

New client connected from 192.168.1.3 as web_78 (c1, k60, u'user123').
但是该消息不会被客户端广播。当我终止浏览器时,我在客户端上看到:

Socket error on client web_78, disconnecting.
当我尝试以下不同的代码示例时,也会发生同样的情况:

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

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

listener 9001
protocol websockets
其他客户端可以连接(例如通过paho python)和mqtt(不使用WebSocket)

我们将非常感谢您的帮助

编辑更新:


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

我也有同样的问题。Mosquitto 1.5.x中的libwebsockets存在一个问题,至少在安装在Raspberry Pi和Raspbian jessie上的版本中是这样。当我将Mosquitto降级到1.4.15时,这个问题为我解决了


请阅读,

您使用的paho示例是否没有更改(除了代理的地址)?是的,只是更改了ip地址和端口。我刚刚在x86_64 Ubuntu上构建了v1.5源代码,它运行正常。你是从哪里获得raspberry pi构建的?另外,看起来你编辑了示例以更改客户端id并设置用户名和密码,请使用该代码更改更新问题。
listener 9001
protocol websockets
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').