繁体   English   中英

如何拦截来自Openfire服务器的Ping消息?

[英]How to intercept a Ping message from the Openfire Server?

我正在编写一个Openfire插件来拦截服务器在客户端空闲时发送给客户端的Ping消息。 Ping系统看起来像:

<iq from='capulet.lit' to='juliet@capulet.lit/balcony' id='s2c1' type='get'>
  <ping xmlns='urn:xmpp:ping'/>
</iq>

但是,当我使用PacketInterceptor拦截服务器和客户端之间的所有数据包时,拦截器能够拦截Ping的所有数据包EXCEPT。 我不明白发生了什么。 任何帮助将非常感激!

在这里,您可以找到一个最简单的数据包拦截器示例,它记录每个传入和传出的数据包。 http://faisalbhagat.blogspot.com/2014/03/openfire-logging-using-packetinterceptor.html

下面是我的插件中的覆盖方法intercepPacket ,它可以拦截ping消息。 供您参考〜:)

@Override
public void interceptPacket(org.xmpp.packet.Packet packet, Session session,
        boolean incoming, boolean processed) throws PacketRejectedException {
    if (incoming && !processed) {
        String packetXml = packet.toXML();
        logger.warn("\n" + new XmlFormatter().format(packetXml));
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM