连接报错

环境信息

  • EMQX 版本:EMQX 4.4.4

  • 操作系统及版本:WINDOWS

  • 其他

问题描述

2022-06-16T18:26:08.929000+08:00 [debug] 117.61.242.199:28552 [Channel] RECV CONNECT(Q0, R0, D0ClientId=3405020232110150007488, ProtoName=MQTT, ProtoVsn=4, CleanStart=false, KeepAlive=180, Username=holley, Password=******)
2022-06-16T18:26:08.929000+08:00 [info] 117.61.242.199:2928 msg: terminate
reason: {shutdown,takeovered}
2022-06-16T18:26:08.929000+08:00 [debug] 117.61.242.199:28552 client_id: <<“3405020232110150007488”>>
msg: insert_channel_info
2022-06-16T18:26:08.930000+08:00 [debug] 117.61.242.199:28552 [MQTT] SEND CONNACK(Q0, R0, D0AckFlags=1, ReasonCode=0)
2022-06-16T18:26:09.249000+08:00 [debug] 117.61.242.199:28552 [MQTT] RECV <<42,129,2,0,9,116,111,119,101,114,109,113,116,116,1,227,101,121,74,116,90,88,78,122,89,87,100,108,97,87,81,105,79,105,73,52,79,84,103,50,77,84,69,121,77,84,73,49,79,84,65,52,78,84,99,52,78,84,81,121,77,87,70,104,89,109,73,50,77,109,69,53,78,71,73,122,77,67,73,115,73,109,49,108,100,71,86,121,98,110,86,116,73,106,111,105,77,122,81,119,78,84,65,121,77,68,73,122,77,106,69,120,77,68,69,49,77,68,65,119,78,122,81,52,79,67,73,115,73,110,78,112,90,50,53,104,98,71,120,108,100,109,86,115,73,106,111,121,78,67,119,105,90,71,70,48,89,88,82,53,99,71,85,105,79,106,73,115,73,109,90,121,98,51,112,108,98,105,73,54,77,67,119,105,100,71,108,116,90,83,73,54,77,84,89,49,78,84,73,50,77,106,65,119,77,68,65,119,77,67,119,105,97,51,100,111,73,106,111,105,78,68,85,51,76,106,81,48,73,105,119,105,98,71,57,118,99,68,70,114,100,50,103,105,79,105,73,48,78,84,99,117,78,68,81,105,102,81,61,61>>
2022-06-16T18:26:09.249000+08:00 [error] 117.61.242.199:28552 [MQTT]
Parse failed for {badmatch,{#{},<<116,111,119,101,114,109,113,116,116,1,227,101,121,74,116,90,88,78,122,89,87,100,108,97,87,81,105,79,105,73,52,79,84,103,50,77,84,69,121,77,84,73,49,79,84,65,52,78,84,99,52,78,84,81,121,77,87,70,104,89,109,73,50,77,109,69,53,78,71,73,122,77,67,73,115,73,109,49,108,100,71,86,121,98,110,86,116,73,106,111,105,77,122,81,119,78,84,65,121,77,68,73,122,77,106,69,120,77,68,69,49,77,68,65,119,78,122,81,52,79,67,73,115,73,110,78,112,90,50,53,104,98,71,120,108,100,109,86,115,73,106,111,121,78,67,119,105,90,71,70,48,89,88,82,53,99,71,85,105,79,106,73,115,73,109,90,121,98,51,112,108,98,105,73,54,77,67,119,105,100,71,108,116,90,83,73,54,77,84,89,49,78,84,73,50,77,106,65,119,77,68,65,119,77,67,119,105,97,51,100,111,73,106,111,105,78,68,85,51,76,106,81,48,73,105,119,105,98,71,57,118,99,68,70,114,100,50,103,105,79,105,73,48,78,84,99,117,78,68,81,105,102,81,61,61>>}}
[{emqx_frame,parse_packet,3,[{file,“emqx_frame.erl”},{line,260}]},{emqx_frame,parse_frame,4,[{file,“emqx_frame.erl”},{line,201}]},{emqx_connection,parse_incoming,3,[{file,“emqx_connection.erl”},{line,655}]},{emqx_connection,handle_msg,2,[{file,“emqx_connection.erl”},{line,648}]},{emqx_connection,process_msg,2,[{file,“emqx_connection.erl”},{line,394}]},{emqx_connection,handle_recv,3,[{file,“emqx_connection.erl”},{line,358}]},{proc_lib,wake_up,3,[{file,“proc_lib.erl”},{line,236}]}]
Frame data:<<42,129,2,0,9,116,111,119,101,114,109,113,116,116,1,227,101,121,74,116,90,88,78,122,89,87,100,108,97,87,81,105,79,105,73,52,79,84,103,50,77,84,69,121,77,84,73,49,79,84,65,52,78,84,99,52,78,84,81,121,77,87,70,104,89,109,73,50,77,109,69,53,78,71,73,122,77,67,73,115,73,109,49,108,100,71,86,121,98,110,86,116,73,106,111,105,77,122,81,119,78,84,65,121,77,68,73,122,77,106,69,120,77,68,69,49,77,68,65,119,78,122,81,52,79,67,73,115,73,110,78,112,90,50,53,104,98,71,120,108,100,109,86,115,73,106,111,121,78,67,119,105,90,71,70,48,89,88,82,53,99,71,85,105,79,106,73,115,73,109,90,121,98,51,112,108,98,105,73,54,77,67,119,105,100,71,108,116,90,83,73,54,77,84,89,49,78,84,73,50,77,106,65,119,77,68,65,119,77,67,119,105,97,51,100,111,73,106,111,105,78,68,85,51,76,106,81,48,73,105,119,105,98,71,57,118,99,68,70,114,100,50,103,105,79,105,73,48,78,84,99,117,78,68,81,105,102,81,61,61>>
2022-06-16T18:26:09.250000+08:00 [debug] 117.61.242.199:28552 [MQTT] Force to close the socket due to {badmatch,

配置文件及日志

这是什么原因导致连接不上

你发送的这端数据,貌似不是合法的 MQTT 报文,建议检查下你的客户端代码

请问下 这个报错什么意思?reason: {shutdown,takeovered}

这个是相同 clientid 的客户端登录,旧的会话就会被关掉

能帮忙看看 mqtt报文哪里有问题吗?

D0AckFlags=1 代表什么

D 应该是 Dup 标志位的意思
从报错来开,似乎你把一个 base64 数据直接发送到 MQTT 端口上了