2017/04/11

[mqtt]v3.1とv3.1.1

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 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。