ESP8266でMQTTを動かすため、他のMQTT clientを動かしてwiresharkログを取っていたのだが、CONNECTのプロトコルが最初違っていた。
設定が「v3.1.1準拠」になっていたので、それをやめると期待する値になった。
私が期待していたのは、v3.1で見ていた値だ。
http://public.dhe.ibm.com/software/dw/webservices/ws-mqtt/mqtt-v3r1.html#connect
Protocol Nameが"MQIsdp"で、Protocol Version Numberが3だ。
しかし、v3.1.1準拠だと、こうだ。
http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html#_Toc398718030
Protocol Nameは"MQTT"で、Protocol Version Numberは"Protocol Level"という名称になり、4となっている。
そういえば、Ubuntu14で動かしたとき、v3.1設定にしないと動かなかったのだが、CONNECTが違っていたのか。
理由が分かってすっきりした。
しかし、v3.1の"MQIsdp"はどういう意味だったのだろうね?
sdpはService Discovery Protocolのような気がするが、MQIはわからん。
http://mqtt.org/faq
違った。
"MQ Integrator SCADA Device Protocol"の略だと。
知ったふりをしなくて良かった。。。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。