Mosquitto 自版本 02.0.12 以来没有 websocket 连接(Windows 特定)

Mosquitto no websocket connection since version 02.0.12 (Windows specific)

今天我想在我的 windows 机器上设置一个简单的 mosquitto 服务器进行测试。 为了方便起见,我正在使用“MQTT Explorer”,并为 windows 下载了最新的 2.0.14 mosquitto 二进制文件(我正在使用 Windows 10)。 但是,我无法使用 Mosquitto 2.0.14、2.0.13 和 2.0.12 连接到我的本地服务器。

我与 2.0.11、2.0.10、2.0.9a 和 2.0.7 的连接成功,但这些版本仅在我在配置中也有一个标准的 http 侦听器时才有效(我不想要,因为以后我只想要一个 wss 监听器)。

这是我正在使用的配置:

allow_anonymous true

#HTTP listener
listener 1883

#Websocket standard listener
listener 9001
protocol websockets

这是我在连接失败后使用 2.0.14、2.0.13 或 2.0.12 时得到的服务器输出:

这是使用 2.0.11、2.0.10、2.0.9a 或 2.0.7 但配置中没有 http 侦听器时的输出:

任何人都可以重现此行为或告诉我哪里搞砸了吗?

根据评论,我能够用 Mosquitto 2.0.14 复制这个问题,并且 issue 已经被提出。

解决方法是将 socket_domain ipv4 添加到配置中 - 例如

allow_anonymous true

listener 9001
protocol websockets
socket_domain ipv4

我在 this issue 中遇到了选项,它似乎确实解决了问题。请注意,我没有研究为什么这会解决问题,因此在更新上述问题之前,这应该被视为临时解决方法。