Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在写一个 ejabberd 模块。它所做的是将一些消息保存到队列中。它实际上工作得很好,只有一件事我在任何文档中都找不到。如果我发现来自特定用户的消息,我需要停止钩子处理。
即一条消息被发送到 ejabberd,从用户 A 到用户 B,我的模块(挂钩到 user_send_packet 钩子)处理这个消息,如果它发现用户 A 是指定的用户,则不能传递它。据我了解,您可以通过停止钩子处理来实现这一点。你如何停止钩子处理?
如果您想要从 A -> B 丢弃消息,您可以通过订阅fiter_packet钩子来实现,然后从该返回丢弃丢弃您不想允许的数据包。
据我了解,您可以通过停止钩子处理来实现这一点
不,停止钩子处理将阻止在该钩子上注册的其他处理程序(如果有)被激活,但没有别的,数据包将照常继续。