我在启用了 websockets 的 Visual Studio 上构建了 mosquitto,使用 Cmake 生成项目文件。我使用了 libwebsockets-1.4 。
我使用 websocket 监听器运行这个代理,如下图所示,它开始通过 websockets 监听端口 8000。
现在我使用了 PAHO websocket 客户端并尝试连接到代理
client = new Paho.MQTT.Client("localhost", 8000, "abc123");
client.connect({onSuccess:onConnect});
function onConnect() {
console.log("onConnect");
}
即使使用详细日志记录,我在代理日志中也看不到任何内容。在浏览器控制台中我得到
WebSocket connection to 'ws://localhost:8000/mqtt' failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET
之后我用test.mosquitto.org:8080
.
PS:然后我尝试了 mosquitto 1.4.7 和 libwebsocket 1.6 的组合,导致以下构建错误,请建议我修复。
下一次尝试是使用 mosquitto 1.4.2 和 libwebsockets 1.4 ,用它构建 mosquitto 没有问题。当我使用常规 tcp 客户端时,它工作正常,当发送来自 websocket 客户端的连接消息时 mosquitto.exe 崩溃。
可能出了什么问题,我该如何克服这个问题?任何在 Windows 上成功部署带有 websocket 支持的 mosquitto 的人请帮忙。