服務端訂閱離線topic(正常非正常都會收到)即可
離線topic $SYS/brokers/+/clients/+/disconnected
上線topic $SYS/brokers/+/clients/+/connected
如果上下線都想收到消息 訂閱這個topic $SYS/brokers/+/clients/#
離線會受到的topic是 $SYS/brokers/emqx@127.0.0.1/clients/xxxxx_642874/disconnected
payload :map[clientid:xxx_642874 disconnected_at:1.603525402882e+12 reason:tcp_closed ts:1.603525402882e+12 username:undefined]
xxxx_642874這個為下線的clientID 可以通過這個來處理離線邏輯
emqx 官方文檔
修改etc/acl.conf 如果擔心其他人非法獲取離線消息,可以設置訂閱權限
設置allow所有用戶訂閱$SYS/brokers/+/clients/#主題
{allow, {user, "dashboard"}, subscribe, ["$SYS/#"]}. {allow, {ipaddr, "127.0.0.1"}, pubsub, ["$SYS/#", "#"]}. {allow, all, subscribe, ["$SYS/brokers/+/clients/#"]}. {deny, all, subscribe, ["$SYS/#", {eq, "#"}]}. {allow, all}.
萬水千山總是情,領個紅包好不好
(歡迎物聯網大佬,IM大佬,第三方平台大佬聯系建立合作 qq:1753869769)