博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第 5-5 课:编写 emqx-rabbitmq-hook(二)
阅读量:4148 次
发布时间:2019-05-25

本文共 794 字,大约阅读时间需要 2 分钟。

这一课,我们继续完成处理其他事件的代码,但是因为本课程的篇幅有限,这里只完成 IotHub 目前需要的 "client.disconnected" 和 "message.publish" 事件的处理代码,其他事件的处理很简单,只需要依葫芦画瓢就可以了。有需要的话,大家可以自行进行扩展。

处理 "client.disconnected" 事件

这个事件的处理和 "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/

你可能感兴趣的文章
C 语言 学习---回调、时间定时更新程序
查看>>
C 语言 学习---复选框及列表框的使用
查看>>
第十一章 - 直接内存
查看>>
JDBC核心技术 - 上篇
查看>>
一篇搞懂Java反射机制
查看>>
Single Number II --出现一次的数(重)
查看>>
Palindrome Partitioning --回文切割 深搜(重重)
查看>>
对话周鸿袆:从程序员创业谈起
查看>>
Mysql中下划线问题
查看>>
Xcode 11 报错,提示libstdc++.6 缺失,解决方案
查看>>
idea的安装以及简单使用
查看>>
Windows mysql 安装
查看>>
python循环语句与C语言的区别
查看>>
vue 项目中图片选择路径位置static 或 assets区别
查看>>
vue项目打包后无法运行报错空白页面
查看>>
Vue 解决部署到服务器后或者build之后Element UI图标不显示问题(404错误)
查看>>
element-ui全局自定义主题
查看>>
facebook库runtime.js
查看>>
vue2.* 中 使用socket.io
查看>>
openlayers安装引用
查看>>