emqx exhook事件消息

挂载点

名称说明执行时机
client.connect处理连接报文服务端收到客户端的连接报文时
client.connack下发连接应答服务端准备下发连接应答报文时
client.connected成功接入客户端认证完成并成功接入系统后
client.disconnected连接断开客户端连接层在准备关闭时
client.authenticate连接认证执行完 client.connect 后
client.check_aclACL 鉴权执行 发布/订阅 操作前
client.subscribe订阅主题收到订阅报文后,执行 client.check_acl 鉴权前
client.unsubscribe取消订阅收到取消订阅报文后
session.created会话创建client.connected 执行完成,且创建新的会话后
session.subscribed会话订阅主题完成订阅操作后
session.unsubscribed会话取消订阅完成取消订阅操作后
session.resumed会话恢复client.connected 执行完成,且成功恢复旧的会话信息后
session.discarded会话被移除会话由于被移除而终止后
session.takeovered会话被接管会话由于被接管而终止后
session.terminated会话终止会话由于其他原因被终止后
message.publish消息发布服务端在发布(路由)消息前
message.delivered消息投递消息准备投递到客户端前
message.acked消息回执服务端在收到客户端发回的消息 ACK 后
message.dropped消息丢弃发布出的消息被丢弃后

onProviderLoaded

request: broker {
  version: "4.3.9-cc7b1aa9"
  sysdescr: "EMQ X"
  uptime: "0 seconds"
  datetime: "2021-12-01 09:07:32"
}

onClientConnect 处理连接报文

request: conninfo {
  node: "emqx@127.0.0.1"
  clientid: "client-0"
  username: "emqx_test"
  peerhost: "127.0.0.1"
  sockport: 1883
  proto_name: "MQTT"
  proto_ver: "4"
  keepalive: 20
}

onClientAuthenticate 连接认证

request: clientinfo {
  node: "emqx@127.0.0.1"
  clientid: "client-0"
  username: "emqx_test"
  password: "emqx_test_password"
  peerhost: "127.0.0.1"
  sockport: 1883
  protocol: "mqtt"
  anonymous: true
}
result: true

onClientConnack 下发连接应答

 request: conninfo {
  node: "emqx@127.0.0.1"
  clientid: "client-0"
  username: "emqx_test"
  peerhost: "127.0.0.1"
  sockport: 1883
  proto_name: "MQTT"
  proto_ver: "4"
  keepalive: 20
}
result_code: "success"

onClientConnected 成功接入

request: clientinfo {
  node: "emqx@127.0.0.1"
  clientid: "client-0"
  username: "emqx_test"
  peerhost: "127.0.0.1"
  sockport: 1883
  protocol: "mqtt"
}

onSessionCreated 会话创建

request: clientinfo {
  node: "emqx@127.0.0.1"
  clientid: "client-0"
  username: "emqx_test"
  peerhost: "127.0.0.1"
  sockport: 1883
  protocol: "mqtt"
}

onClientCheckAcl ACL 鉴权

request: clientinfo {
  node: "emqx@127.0.0.1"
  clientid: "client-0"
  username: "emqx_test"
  peerhost: "127.0.0.1"
  sockport: 1883
  protocol: "mqtt"
}
type: SUBSCRIBE
topic: "testtopic/1"
result: true

onClientSubscribe 订阅主题

request: clientinfo {
  node: "emqx@127.0.0.1"
  clientid: "client-0"
  username: "emqx_test"
  peerhost: "127.0.0.1"
  sockport: 1883
  protocol: "mqtt"
}
topic_filters {
  name: "testtopic/1"
  qos: 1
}

onSessionSubscribed 会话订阅主题

request: clientinfo {
  node: "emqx@127.0.0.1"
  clientid: "client-0"
  username: "emqx_test"
  peerhost: "127.0.0.1"
  sockport: 1883
  protocol: "mqtt"
}
topic: "testtopic/1"
subopts {
  qos: 1
}

onMessagePublish 消息发布

 request: message {
  node: "emqx@127.0.0.1"
  id: "0005D20B5F22B6A8F49D0000028C0001"
  qos: 1
  from: "proceduer"
  topic: "testtopic/1"
  payload: "test"
  timestamp: 1638321166137
}

onMessageDelivered 消息投递

request: clientinfo {
  node: "emqx@127.0.0.1"
  clientid: "proceduer"
  username: "emqx_test"
  peerhost: "127.0.0.1"
  sockport: 1883
  protocol: "mqtt"
}
message {
  node: "emqx@127.0.0.1"
  id: "0005D20B5F22B6A8F49D0000028C0001"
  from: "proceduer"
  topic: "testtopic/1"
  payload: "hardcode payload by exhook-svr-java :)"
  timestamp: 1638321166137
}

onClientDisconnected 断开链接

request: clientinfo {
  node: "emqx@127.0.0.1"
  clientid: "client-0"
  username: "emqx_test"
  peerhost: "127.0.0.1"
  sockport: 1883
  protocol: "mqtt"
}
reason: "normal"

onSessionTerminated 会话终止

request: clientinfo {
  node: "emqx@127.0.0.1"
  clientid: "client-0"
  username: "emqx_test"
  peerhost: "127.0.0.1"
  sockport: 1883
  protocol: "mqtt"
}
reason: "{shutdown,normal}"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值