连接中关联如下:

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

两个关联类,PingIQ,PingIQProvider

Java代码  
  1. import org.jivesoftware.smack.packet.IQ;
  2. public class PingIQ extends IQ {
  3. public static final String ELEMENT = "ping";
  4. public static final String NAMESPACE = "urn:xmpp:ping";
  5. @Override
  6. public String getChildElementXML() {
  7. StringBuffer sb = new StringBuffer();
  8. sb.append("<").append(ELEMENT).append(" xmlns=\"").append(NAMESPACE)
  9. .append("\">");
  10. sb.append("</").append(ELEMENT).append(">");
  11. return sb.toString();
  12. }
  13. }
Java代码  
  1. import org.jivesoftware.smack.packet.IQ;
  2. import org.jivesoftware.smack.provider.IQProvider;
  3. import org.xmlpull.v1.XmlPullParser;
  4. public class PingIQProvider implements IQProvider {
  5. @Override
  6. public IQ parseIQ(XmlPullParser parser) throws Exception {
  7. // TODO Auto-generated method stub
  8. PingIQ iq = new PingIQ();
  9. return iq;
  10. }
  11. }

报文如下:

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. <iq type="result" to="localhost" id="65dfds"/>

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

转载于:https://www.cnblogs.com/tiancai/p/10070319.html

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

  1. AWS上的实例无法ping通的解决方案

    AWS上的实例无法ping通的解决方案 参考文章: (1)AWS上的实例无法ping通的解决方案 (2)https://www.cnblogs.com/wujing-hubei/p/8617461.h ...

  2. Xshell不能链接虚拟机(可ping通)--解决方案

    Xshell不能链接虚拟机(可ping通)--解决方案 参考文章: (1)Xshell不能链接虚拟机(可ping通)--解决方案 (2)https://www.cnblogs.com/Martin-M ...

  3. Docker 容器与宿主机网段冲突导致网络无法 ping 通的解决方案

    Docker 容器与宿主机网段冲突导致网络无法 ping 通的解决方案 参考文章: (1)Docker 容器与宿主机网段冲突导致网络无法 ping 通的解决方案 (2)https://www.cnbl ...

  4. 多台电脑在同一局域网之间ping不通的解决方案

    多台电脑在同一局域网之间ping不通的解决方案 windows10 为例 windows+i打开设置 搜索 "控制面板" 双击"网络和internet" 点击网 ...

  5. linux桥接模式不能上网/ping不通主机解决方案

    这几天我在家里电脑安装虚拟机打算学习一下集群配置,出现了一些问题.现在想把它记录下来,如果能给看到的人一些帮助,那就更好了. 1.桥接模式的配置 这个时候 我们的虚拟机就是桥接模式上网了.这时候可能会 ...

  6. 两台电脑ping不通的解决方案

    一.前言 两台PC终端,通过网线直接物理连接,结果发现一直无法ping通,查了不少解决方案,在这里给大家提供一点解决思路. 1.ping不通最可能存在的问题: a.检查一下两台电脑的防火墙是否关闭,如 ...

  7. 服务器ping你可以ping通,你ping服务器ping不同的解决方案!!

    这几天让公司的服务器弄的蛋疼啊!!三天两头的出问题,主管脸色不大好看,我这里也郁闷的要死.所以发誓一定要把好安全关!! 今天在自己的虚拟机上边装了一个winserver2003标准版,搭建好环境之后发 ...

  8. lwip+freeRTOS 无法ping通的解决方案

    0.工程环境 STM32F407ZGT6+LAN8720+FreeRTOS+lwIP 1.硬件 (1)确认PHY芯片RMII管脚是否配置正确: (2)PHY芯片初始化完成后,用HAL_ETH_Read ...

  9. 对于VmWare WorkStation在桥接模式下与虚拟机互ping不通问题解决方案

    这个ping不通的情况,找了好几周,都没找到解决办法,试了各种办法,都不行.后来终于解决了 1.防火墙禁ping导致(关闭虚拟机.物理主机防火墙再试一下即可或开启icmp访问) 2.桥接的物理网卡不对 ...

最新文章

  1. [导入]WindowsXp的两个问题:
  2. getDeclaredFields()应用
  3. 配置文件中的数据库连接串加密了,你以为我就挖不出来吗?
  4. qt中使窗口的大小随窗口的内容大小进行调整
  5. Linux启动或重启网卡【命令】
  6. java大文件读,java 读大文件报错
  7. VoltDB培训PPT一则
  8. 跨境电商开发,源码无加密
  9. C6000 DSP技术深度探索(3)-中断向量表
  10. linux系统下安装oracle客户端
  11. JavaScript Object Notation对象标记法
  12. Shell 脚本进阶,经典用法及其案例
  13. java通信二:利用Socket实现聊天室功能
  14. 基于单片机智能婴儿车控制设计(毕业设计)
  15. 清除APP 数据的时候出现Crash的情况分析
  16. 关于在VMware上安装Android x86及FTP详细使用
  17. bandit agent下棋AI(python编写) 通过强化学习RL 使用numpy
  18. QT210 自制bootloader 移植kernel3.4.2 制作ramdisk busybox1.20.2
  19. import mysql.connector 报错
  20. 养眼的大自然色卡,设计师必备

热门文章

  1. 安装Empire时报错
  2. Java 数组在内存中的存储 数组的常见操作
  3. 高颜值的第三方网易云播放器,支持 Windows / macOS / Linux
  4. C语言输出所有的水仙花数
  5. 2018年蓝桥国赛c/c++组真题解析
  6. 流程图、思维导图、网络拓扑图、组织结构图——ProcessOn在线工具及增加文件数方法
  7. 文献阅读(166)鲲鹏
  8. 问题解决:AttributeError: ResultSet object has no attribute ‘get‘.
  9. hibernate 一对多 取多方数据重复问题,FetchMode.JOIN、FetchMode.SELECT、FetchMode.SUBSELECT区别
  10. matlab彩色碎片拼接与复原_碎纸片的拼接复原算法及MATLAB实现.doc