2

我正在尝试使用 Paho 的 MQTT javascript 客户端。我看到了 HiveMQ 的一个例子,你可以在这里查看 - - http://www.hivemq.com/demos/websocket-client/

它似乎正在工作,但是当我将主机设置为:test.mosquitto.org:1883时,它是 mosquitto 的 mqtt 代理服务,它失败了。

当我尝试连接到这个 mosquitto 服务时,它给了我一个连接错误 -connect failed: AMQJS0007E, Socket error: undefined.

4

3 回答 3

6

Mosquitto 不支持开箱即用的 MQTT over WebSockets。所以 Roger 使用 lighttpd 和 mod_websocket 模块进行转发。

这意味着端口将是端口 80 而不是 1883

但是刚刚快速浏览了一下http://test.mosquitto.org/ws.html,由于演示无法正常工作,因此 lighttpd 实例目前可能已关闭。

如果您想运行自己的 mosquitto 本地副本进行测试,该页面上有一个链接,其中包含有关如何为 lighttpd 或 ubuntu ppa 构建 mod_websocket 以从中下载它的说明。

编辑:

Mosquitto 现在包括内置的 WesbSocket 支持,但您需要添加一个额外的侦听器来启用它,例如

listener 8883
protocol websockets
于 2013-11-02T12:14:05.483 回答
2

正如 hardillb 所说,您需要使用端口 80。您应该使用的完整网址是

ws://test.mosquitto.org/mqtt

如果您按照 Andy 的建议使用 m2m.eclipse.org(实际上是使用支持 websockets 的 apache),那么您应该使用

ws://m2m.eclipse.org/ws

于 2013-11-03T10:58:34.497 回答
0

您可以对 m2m.eclipse.org 尝试相同的操作,我认为它也通过 lighthttpd 打开了 websocket 支持。

于 2013-11-02T18:14:27.613 回答