我已經在啓用了websockets的Visual Studio上使用Cmake生成項目文件,從而構建了mosquitto。我使用libwebsockets-1.4。在windows中啓用蚊子的蚊子
我用一個websocket監聽器運行這個代理,如下圖所示,它開始通過websockets監聽端口8000。
現在我用的是泛美衛生組織的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和1.4 libwebsockets,沒有問題的建築mosquitto它。當我使用普通的tcp客戶端時,它工作正常,當一個來自websocket客戶端的連接消息被髮送mosquitto.exe崩潰。
可能出了什麼問題,我該如何解決這個問題?任何人誰已成功部署在窗戶上的websocket支持蚊子請幫助。
你建立了哪個版本的蚊子? 1.4.7規定增加對websockets 1.6版的支持。可能值得嘗試這種組合 – hardillb
@hardillb我最初嘗試使用libwebsockets 1.4的mosquitto 1.4.7,它的構建沒有問題。我嘗試了1.4.7和1.6的組合,並且有很多構建錯誤。我將編輯該問題以顯示錯誤,請給我你的意見或可能的修復 –
我設法讓它與蚊子1.4.7和libwebsockets 1.5 工作,雖然我仍然好奇其他組合如何工作 –