我在ejabberd中使用钩子来创建一个自定义模块,并且到目前为止一直使用user_send_packet
钩子。我希望在将数据包发送到客户端后立即(及之后)在ejabberd服务器上实现自定义功能从服务器。
我正在考虑使用user_receive_packet
钩子,但我对它被触发或启动的时间感到有点困惑。
它是在数据包发送到客户端之前启动还是被触发,还是在数据包发送到客户端后启动。
如果它在发送数据包之前启动或被触发,那么在这种情况下发送给客户端的数据包会发生什么,我的意思是数据包等待实现user_receive_packet
的模块完成,然后去客户端或简单不受影响?
有人可以帮助我吗?
答案 0 :(得分:0)
我正在尝试回答这个问题,以便将来可能有所帮助。
在将数据包发送给用户之前,user_receive_packet
挂钩被称为。
它返回(Packet,State)
(无论数据包是否已更改)或(drop,State)
以防数据包被静默删除。