openfire ping的smack解决方案(维持在线状态)
连接中关联如下:
- // iq提供者
- roviderManager.getInstance().addIQProvider("ping", "urn:xmpp:ping",
- new PingIQProvider());
- onnection.addPacketListener(new PacketListener() {
- @Override
- public void processPacket(Packet p) {
- PingIQ pingIQ = (PingIQ) p;
- IQ pongIQ = pingIQ.createResultIQ(pingIQ);
- // 返回
- connection.sendPacket(pongIQ);
- }
- , new PacketTypeFilter(PingIQ.class));
两个关联类,PingIQ,PingIQProvider
- import org.jivesoftware.smack.packet.IQ;
- public class PingIQ extends IQ {
- public static final String ELEMENT = "ping";
- public static final String NAMESPACE = "urn:xmpp:ping";
- @Override
- public String getChildElementXML() {
- StringBuffer sb = new StringBuffer();
- sb.append("<").append(ELEMENT).append(" xmlns=\"").append(NAMESPACE)
- .append("\">");
- sb.append("</").append(ELEMENT).append(">");
- return sb.toString();
- }
- }
- import org.jivesoftware.smack.packet.IQ;
- import org.jivesoftware.smack.provider.IQProvider;
- import org.xmlpull.v1.XmlPullParser;
- public class PingIQProvider implements IQProvider {
- @Override
- public IQ parseIQ(XmlPullParser parser) throws Exception {
- // TODO Auto-generated method stub
- PingIQ iq = new PingIQ();
- return iq;
- }
- }
报文如下:
- <iq xmlns="jabber:client" type="get" id="65dfds" from="localhost" to="test001@xmpp.qxun.org/test"><ping xmlns="urn:xmpp:ping"/></iq>
- <iq type="result" to="localhost" id="65dfds"/>
http://linyu19872008.iteye.com/blog/1840596
openfire ping的smack解决方案(维持在线状态)的更多相关文章
- 虚拟机NAT模式主机ping不通虚拟机解决方案
本篇没有抓包,只是简单一个实施.需要的童鞋可以拿走这个方法. 虚拟机与真机通信三种模式, 桥接模式,NAT 模式 ,HOST 模式. 桥接就是在真机的网络上模拟一个网卡,给虚拟机申请一个和真机在同一个 ...
- Windows Azure 不能ping通的解决方案
Windows Azure 不能ping通如何解决? 为了避免Ping Flood攻击,Windows Azure不开放对外ICMP通讯协定,所以使用ping命令我们是无法ping通的.在微软资料中心 ...
- tiny210 u-boot 网络ping不通主机解决方案
站在巨人的肩膀上: http://blog.csdn.net/liukun321/article/details/7438880 http://www.arm9home.net/read.php?ti ...
- 虚拟机Linux(centos)系统能ping通主机,主机无法ping通Linux解决方案
本文引用:https://blog.csdn.net/clean_water/article/details/53023308 三个步骤: 第一步:虚拟机网络连接方式选择Nat 第二步.关闭liunx ...
- AWS上的实例无法ping通的解决方案
首先Ping只是向服务器发送ICMP的数据包,如果在服务器的防火墙没有允许ICMP协议的数据包的话,那么即使服务器正常运行,那也是ping不同的. 对于亚马逊云服务器,首先我们要确保实例绑定的安全组允 ...
- 远程连接阿里云服务器ping不通ip解决方案
搭建了阿里云服务器,发现本地ping不通,查看半天才发现,原来是在阿里云上的安全组少了些东西. 在出入方向上新建一个安全组,就可以搞定了.
- Docker 容器与宿主机网段冲突导致网络无法 ping 通的解决方案
docker 容器网络默认使用 bridge 桥接模式,正常情况下,容器会使用 daemon.json 中定义的虚拟网桥来与宿主机进行通讯. 最近更新 Docker for mac 之后,发现以前容器 ...
- 基于xmpp openfire smack开发之Android客户端开发[3]
在上两篇文章中,我们依次介绍openfire部署以及smack常用API的使用,这一节中我们着力介绍如何基于asmack开发一个Android的客户端,本篇的重点在实践,讲解和原理环节,大家可以参考前 ...
- Smack+OpenFire搭建IM通信,包含心跳和自动重连(Android实现)
Smack是一个开源,易于使用的XMPP(jabber)客户端类库.优点:简单的,功能强大,给用户发送信息只需三行代码便可完成.缺点:API并非为大量并发用户设计,每个客户要1个线程,占用资源大.Op ...
随机推荐
- Java读写TXT文本
public String readTxtFile(String filePath) { StringBuffer appInfolistInput = new StringBuffer(); try ...
- webdriver之py,driver启动chrome时加载profile
import os from selenium import webdriver from selenium.webdriver.chrome.options import Options execu ...
- AI 高等数学、概率论基础
一.概论 基础引入: 原理一:[两边夹定理] 原理二:[极限] X为角度x对应的圆弧的点长: 原理三[单调性]: 引入: 二.导数 常见函数的导数: 四.应用: 求解: 泰勒展式和麦克劳林展式: 泰勒 ...
- PHP中使用 JKS(Java Key Store)的方法
PHP语言无法直接读取 JKS中的密钥,需要通过以下方法进行转换 本例以JKS中的私钥为例 首先 使用 KeyStore Explorer工具,打开JKS文件 ,此时可能需要输入 JKS密码 对私钥进 ...
- SpringMVC整合Mongodb开发,高级操作
开发环境: 操作系统:windows xpMongodb:2.0.6依 赖 包:Spring3.2.2 + spring-data-mongodb-1.3.0 + Spring-data-1.5 + ...
- mysql合并binlog
例如: PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL DAY);
- 'Agent XPs' component is turned off as part of the security configuration for this server
To turn on Agent XP's by running this script: sp_configure 'show advanced options', 1; Go RECONFIGUR ...
- 【转】我的第一次和最后一次 Hackathon 经历
我的第一次和最后一次 Hackathon 经历 在旧金山地区经常有一些叫做“Hackathon”的活动,吸引挺多人参加.我一直听说这个名字,可是一直不知道它到底是什么.我从来对竞赛式的活动不感兴趣,我 ...
- vmware虚拟机三种网络连接方式
一.概述 vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式).NAT(网络地址转换模式).Host-Only(仅主机模式). 打开vmware虚拟机,我们可以在选项栏的“ ...
- systemctl 命令
systemctl命令是系统服务管理器指令,它实际上将 service 和 chkconfig 这两个命令组合到一起. 任务 旧指令 新指令 使某服务自动启动 chkconfig --level 3 ...