码迷,mamicode.com
首页 > 系统相关 > 详细

openfire ping的smack解决方案(维持在线状态)

时间:2018-12-05 13:25:34      阅读:604      评论:0      收藏:0      [点我收藏+]

标签:ping   name   rom   RoCE   jabber   err   throw   roc   element   

连接中关联如下:

Java代码  技术分享图片
  1.              // iq提供者  
  2. roviderManager.getInstance().addIQProvider("ping", "urn:xmpp:ping",  
  3.     new PingIQProvider());  
  4. onnection.addPacketListener(new PacketListener() {  
  5.   
  6. @Override  
  7. public void processPacket(Packet p) {  
  8.     PingIQ pingIQ = (PingIQ) p;  
  9.     IQ pongIQ = pingIQ.createResultIQ(pingIQ);  
  10.     // 返回  
  11.     connection.sendPacket(pongIQ);  
  12.   
  13. }  
  14. new PacketTypeFilter(PingIQ.class));  

 

两个关联类,PingIQ,PingIQProvider

Java代码  技术分享图片
  1. import org.jivesoftware.smack.packet.IQ;  
  2.   
  3. public class PingIQ extends IQ {  
  4.   
  5.     public static final String ELEMENT = "ping";  
  6.     public static final String NAMESPACE = "urn:xmpp:ping";  
  7.   
  8.     @Override  
  9.     public String getChildElementXML() {  
  10.         StringBuffer sb = new StringBuffer();  
  11.         sb.append("<").append(ELEMENT).append(" xmlns=\"").append(NAMESPACE)  
  12.                 .append("\">");  
  13.   
  14.         sb.append("</").append(ELEMENT).append(">");  
  15.         return sb.toString();  
  16.   
  17.     }  
  18.   
  19. }  

 

Java代码  技术分享图片
  1. import org.jivesoftware.smack.packet.IQ;  
  2. import org.jivesoftware.smack.provider.IQProvider;  
  3. import org.xmlpull.v1.XmlPullParser;  
  4.   
  5. public class PingIQProvider implements IQProvider {  
  6.   
  7.     @Override  
  8.     public IQ parseIQ(XmlPullParser parser) throws Exception {  
  9.         // TODO Auto-generated method stub  
  10.         PingIQ iq = new PingIQ();  
  11.         return iq;  
  12.     }  
  13.   
  14. }  

 

报文如下: 

 

Java代码  技术分享图片
    1. <iq xmlns="jabber:client" type="get" id="65dfds" from="localhost" to="test001@xmpp.qxun.org/test"><ping xmlns="urn:xmpp:ping"/></iq>  
    2.   
    3.   
    4. <iq type="result" to="localhost" id="65dfds"/> 

http://linyu19872008.iteye.com/blog/1840596

openfire ping的smack解决方案(维持在线状态)

标签:ping   name   rom   RoCE   jabber   err   throw   roc   element   

原文地址:https://www.cnblogs.com/tiancai/p/10070319.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!