何时启动/触发user_receive_packet挂钩

时间:2017-08-25 10:45:40

标签: ejabberd ejabberd-module ejabberd-hooks

我在ejabberd中使用钩子来创建一个自定义模块,并且到目前为止一直使用user_send_packet钩子。我希望在将数据包发送到客户端后立即(及之后)在ejabberd服务器上实现自定义功能从服务器。 我正在考虑使用user_receive_packet钩子,但我对它被触发或启动的时间感到有点困惑。

它是在数据包发送到客户端之前启动还是被触发,还是在数据包发送到客户端后启动。

如果它在发送数据包之前启动或被触发,那么在这种情况下发送给客户端的数据包会发生什么,我的意思是数据包等待实现user_receive_packet的模块完成,然后去客户端或简单不受影响?

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

我正在尝试回答这个问题,以便将来可能有所帮助。

在将数据包发送给用户之前,user_receive_packet挂钩被称为。 它返回(Packet,State)(无论数据包是否已更改)或(drop,State)以防数据包被静默删除。