EMQX 插件开发中,如何直接回复客户端指定消息

EMQX 插件开发中,如何直接回复客户端指定消息?

例如,我想在插件中收到来自客户端的指定的 Publish 消息后,直接在插件内向客户端也 Publish 一个指定的消息(类似于接收到客户端指定消息后,给该客户端回复),请问如何实现?或者有哪些可以参考的文档是示例代码?

非常感谢!

你好,如果需要直接投递消息给客户端,而不是走主题的 Pub/sub 需要像以下这种编码:


case emqx_cm:lookup_channels(ClientId) of
    [] -> {error, not_found};
    [Pid | _] ->
         Topic = <<"test_topic">>,
          Payload = <<"test_payload">>,
          Msg = emqx_message:make(Topic, Payload),
         Pid ! {deliver, Topic, Msg}
end

示例代码,具体你可以试试看