1

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.

Sudhi
  • 229
  • 3
  • 4
  • 13

1 Answers1

6

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/

Matt.
  • 1,043
  • 1
  • 12
  • 20
  • Thanks. Works!! Was under the impression that this is enabled by default as the reason for me using HiveMQ vs Mosquitto MQTT broker was the lack of websocket support (though 1.4 supports but need to fetch from bitbucket and generate a binary). – Sudhi Oct 29 '14 at 09:56