mqttpaholibwebsocketshivemq

Websocket connection error with HiveMQ 2.1.0 + Eclipse Paho javascript mqttws31.js


I am facing the below error when executing the mqttws31.js as part of a HTML file on Google Chrome.

HiveMQ was used as MQTT broker, logs are as below

2014-10-28 14:46:45,043 INFO  - HiveMQ home directory: E:\hivemq-2.1.0
2014-10-28 14:46:45,065 INFO  - Starting HiveMQ Server
2014-10-28 14:46:48,249 WARN  - No license file found. Using free personal licensing with  restrictions to 25 connections.
2014-10-28 14:46:48,367 INFO  - Activating statistics callbacks with an interval of 60 seconds
2014-10-28 14:46:48,368 INFO  - Activating $SYS topics with an interval of 60 seconds
2014-10-28 14:46:48,728 INFO  - Starting on address 127.0.0.1 and port 1883
2014-10-28 14:46:48,734 INFO  - Started HiveMQ 2.1.0 in 3694ms

When the HTML file containing the MQTT client, the below error is encountered.

WebSocket connection to 'ws://127.0.0.1:1883/mqtt' failed: Connection closed before receiving a handshake response

Any help in resolving this appreciated.


Solution

  • It doesn't look like you have websockets enabled, to be able to use mqttws31.js with hivemq.

    See settings here; http://www.hivemq.com/docs/hivemq/2.1.0/#hivemqdocs_configuration_options

    Open conf/configurations.properties with your favorite editor Change websockets.enabled to true

    And then in your code connect to; ws://127.0.0.1:8000/mqtt

    Here is a quick howto on hivemq' website, http://www.hivemq.com/hivemq-mqtt-websockets-support-message-log-plugin-2-min/