Open yuvarajvelumani opened 2 years ago
I had same issue. Seems to be a bug at paho.c which was fixed in v1.3.9. See: https://github.com/eclipse/paho.mqtt.c/pull/1090
After upgrading to paho.c v1.3.9 it worked. v1.3.10 also works
So the combination
MQTT C Lib Version: v1.3.9/v1.3.10 MQTT C++ Version: v1.2.0
works for me
Hi,
MQTT C Lib Version: v1.3.8 MQTT C++ Version: v1.2.0 JSONCPP Version: 1.9.3
Tool Used: MQTT Explorer and MQTT Lens
I had configured mosquitto broker to support both MQTT and WebSocket protocol Snippet from mosquitto.conf
I am trying to send Json message via the websocket (unsecured) using the host address "ws://localhost:9090". The JSON message looks fine with clear formatting and indentation, but on the Tool side I could see all Gibberish characters. The same code works perfectly fine when configured as MQTT protocol.
Also I am using MQTT JavaScript for a simple UI (html based), which gets disconnected when a invalid json message is received.
Could anyone help me ASAP.
If there is any websocket based example available, please refer to me. I appreciate your help.
Original Message:
{ "version" : 1.0, "timestamp" : "2022-01-04T01:30:52.399Z", "sender" : "printservice", "data" : { "id" : "1", "name" : "Print Label", "procotol" : "ESC/Label", "servicename" : "epsonprintservice", "txt" : "Epson Printer", "model" : "modelname", "type" : "destination", "extension" : "*.prn", "printoption" : [ { "id" : "1", "name" : "printoption", "text" : "Print Option", "option" : "label | line" } ], "commsettings" : [ { "id" : "1", "name" : "Serial", "config" : "", "port" : "COM1 | COM2 | COM3", "options" : "", "enabled" : "false" }, { "id" : "2", "name" : "Ethernet", "ip" : "", "port" : "", "options" : "", "enabled" : "true" } ], "sourcedevents" : [ { "id" : "1", "event" : "labelsettings", "display" : "Label Settings", "resultevent" : "printlabel_settings" } ], "usercommands" : [ { "id" : "1", "resultevent" : "reprintlabel", "display" : "Reprint" } ] } }
At MQTT Explorer:
����������������������������������������������������������������������������������������������������Ԧ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ԇ���Ԧ����������������������������������������������������������������������������������������������������������Ԡ��Ԁ�����������������������Ԇ���Ԧ��������������������������������������������������������������������������������������������������������������������������������������������Ԡ����Ԧ�����������������������������������������������������������������������������������������������������������������������Ԡ��Ԁ������������������������Ԇ���Ԧ������������������������������������������������������������������������������������������������������������������������������Ԡ��Ԁ�����������������������Ԇ���Ԧ���������������������������������������������������������������������������������Ԡ��Ԁ�Ԡנ
C++ Code Snippet:
mqtt::async_client* m_mqttClient = new mqtt::async_client("ws://localhost:9090, "cli-sample", 120); mqtt::connect_options m_mqttConnOptions = mqtt::connect_options_builder() .keep_alive_interval(120* seconds(5)) .clean_session(true) .automatic_reconnect(seconds(2), seconds(30)) .finalize(); m_mqttClient->publish(topic, JsonString, 0, false)->try_wait();
-Thanks