官方指明了 只支持 mqtt3.11和 mqtt3 協(xié)議的
但是現(xiàn)在很多功能 都需要 MQTT5,
我直接 把 protocol_level 改成 5 連不上
用其它的 MQTT客戶端 用 MQTT5 連接
服務(wù)端收到信息是 CONNECT(Q0, R0, D0ClientId=id, ProtoName=MQTT, ProtoVsn=5, CleanStart=true, KeepAlive=60, Username=admin, Password=**) ,可以連上
用workeman 的MQTT3.11 連接
服務(wù)端收到信息是 CONNECT(Q0, R0, D0ClientId=id, ProtoName=MQTT, ProtoVsn=4, CleanStart=true, KeepAlive=60, Username=admin, Password=**) 可以連上,只一字之差
直接 把 protocol_level 改成 5 確連不上,好像是報文的編碼不對了。
哪個大神幫忙看看
目前 workerman/mqtt不支持MQTT5,有需要歡迎改進發(fā)PR貢獻代碼
已經(jīng)找到原因了,確實是不支持,MQTT5 加了 Properties,所以報文加了一位,所以服務(wù)端解不出來。 swoole 那邊有, https://github.com/simps/mqtt ,我看了一下,和mqtt3.11 改動并不大,哪位動手能力強的大哥,可以搞一搞,讓workerman 早日支持 MQTT5