关于HookProviderGrpc.HookProviderImplBase 这个接口

描述你需要的功能

有个需求当客户端关闭连接emqx中间件后,如何在exhook 编写返回体告知客户端

为什么你需要这个功能

内部替换activemq 遇到阻碍 着急 请官方看到后尽快回复

没理解你的需求,客户端都关闭连接了,就不可能再收到任何返回消息了呀

不好意思 搞错了 是向服务端发送消息 ,当客户端掉线后 向服务端发送消息 通知哪个客户端掉线了以及相关业务id

因为使用grpc 返回只 emptySuccess 这个对象里面是个空 如果是valueResponse 那个对象可以放message

如果是通过 ExHook实现:看起来只需要在 OnClientDisconnected 的回调里面获取到 ClientID 然后把它发给你的服务器就好了。

当然也可以通过:规则引擎或系统消息去获取到客户端离线的事件:

  1. 规则引擎:SQL 数据源和字段 | EMQX 企业版文档
  2. 系统消息:系统主题 | EMQX 企业版文档

目前依赖你们给的方式不知道如何做回调 ,我想到的是用http吧clientId发过去 但是这样不是我所期待的 。如果能像publish那个接口 通过放到valuedResponse 里面的message 直接发送给服务端就最好 或者官方可以给个demo我看下

不太想用规则引擎和系统消息 因为我想在一个项目里面就完成我所需要的 不想东一点配置 西一点配置 这样复杂度提升了

你这里的服务端是指你的自己的服务器么,而不是 EMQX?
如果是,我认为用 HTTP 发送才是合理的。

这里可能有点理解误会,OnMessagePublish 返回后的消息是直接到 EMQX 内部进行发布的。如果需要把消息客户端离线的通过这个钩子发布到 EMQX,那不如直接用系统消息的客户端离线事件就好了