本文共 794 字,大约阅读时间需要 2 分钟。
这一课,我们继续完成处理其他事件的代码,但是因为本课程的篇幅有限,这里只完成 IotHub 目前需要的 "client.disconnected" 和 "message.publish" 事件的处理代码,其他事件的处理很简单,只需要依葫芦画瓢就可以了。有需要的话,大家可以自行进行扩展。
这个事件的处理和 "client.connected" 事件,不过需要过滤掉 client 因为用户名和密码没有通过认证,触发的 "client.disconnected":
%% emqx_rabbitmq_hook/src/emqx_rabbitmq_hook.erlon_client_disconnected(#{}, auth_failure, _Env) -> ok;on_client_disconnected(#{client_id := ClientId, username := Username}, ReasonCode, _Env) -> Reason = if is_atom(ReasonCode) -> ReasonCode; true -> unknown end, Doc = { client_id, ClientId, username, Username, disconnected_at, emqx_time:now_ms(), reason, Reason }, emqx_rabbitmq_hook_cli:publish(bson_binary:put_document(Doc), <<"client.disconnected">>),
转载地址:http://giiti.baihongyu.com/