2015-11-19 207 views
0

我想使用Paho的JavaScript庫連接到Mosquito MQTT服務器。我剛剛在Paho網站上使用了這個例子。那就是:使用Paho連接到Mosquito MQTT服務器

function onConnect() { 
    console.log("onConnect"); 
    client.subscribe("harleyRowland/myTopic"); 
    message = new Paho.MQTT.Message("Hello"); 
    message.destinationName = "harleyRowland/myTopic"; 
    client.send(message); 
} 
onConnect(); 

在Safari上,我得到以下錯誤:

Error: AMQJS0011E Invalid state not connected.

,並在Chrome,我碰到下面的錯誤,以及上面的一個:

WebSocket connection to 'ws://mosquitoServer.co.uk:1883/mqtt' failed: Error during WebSocket handshake: net::ERR_CONNECTION_RESET

我需要使用Mosquito服務器進行這項工作。是否有可能使用JavaScript?如果這是不可能的,是否有另一種網絡技術可以使用?

回答

1

你需要添加一個websockets監聽器到你的mosquitto設置。您可以通過添加類似以下內容到你的mosquitto.conf

listener 1884 
protocol websockets 

這將爲MQTT監聽通過端口1884年的WebSockets(不是1883年你不能mosquitto同一插座上同時運行)做到這一點。

你還需要在Windows平臺上運行mosquitto出現不到1.4,除非你自己編譯

+1

您可以在Windows上使用WebSockets,你只需要自己編譯。 – ralight

+0

我無法將功能添加到Mosquito服務器(它不屬於我)。這是否使得通過網絡與MQTT進行交互是不可能的? – Haych

+1

正確,除非在那裏已經有websockets支持。 – ralight