XMPP客户端库Smack 4.0.6版开发之一

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/41545289 XMPP客户端库Smack 4.0.6版开发之一作者:chszs,转载需注明。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/41545289

XMPP客户端库Smack 4.0.6版开发之一

作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs

一、Smack库概述

Smack是一个开源、易用的XMPP/Jabber客户端库,它使用Java语言开发,由Jive Software开发。

Smack的优点是编程简单。

Smack的缺点是其API并非为大量并发用户设计,每个客户都要1个线程,占用资源相对较,因此用Smack做模拟测试时,1台机器只能模拟有限(数千个)客户。

截止2014年11月27日,Smack库已经发展到4.0.6版。

最新的好消息是Smack在4.1.0版后将直接支持Android系统,而无需再使用以前的Smack移植版aSmack库了。

Smack库源码托管于GitHub,主页见: https://github.com/igniterealtime/Smack/



二、Smack 4的改变

Smack库从3.4版发展到4.0.x版后,其API有较大的变化,主要有:

1、把Connection类重命名为XMPPConnection类

XMPPConnection类是XMPPTCPConnection类和XMPPBOSHConnection类的父类。

2、把各种Provider类进行了分包

3、keep-alive(持久连接)机制从smack-core库移到了smack-extensions库

keep-alive机制现在由PingManager类提供。

4、PrivacyList类的toString()方法重命名为getName()

5、当Chat实例的所有引用都撤掉后,应该调用Chat.close()方法

否则Chat对象会有内存泄露的隐患,直到ChatManager对象被垃圾回收器回收后内存泄露隐患才会消失。

6、ServerTrustManager类被移除了

如果要使用带SSL认证的XMPP,你只需提供自己的SSLContext对象给ConnectionConfiguration对象即可。

7、Packet.setProperty()从smack-core库移到了smack-extensions库

其API现在可以在org.jivesoftware.smackx.jiveproperties包中找到。

8、Connection.getAccountManager()方法现在改成了AccountManager.getInstance(XMPPConnection)方法

9、异常API做了改进

10、ToContains过滤器被移除了


目录
相关文章
【Groovy】使用 Groovy 语言开发服务器 Server 和客户端 Client 套接字程序 ( 客户端开发 )
【Groovy】使用 Groovy 语言开发服务器 Server 和客户端 Client 套接字程序 ( 客户端开发 )
208 0
|
Java JavaScript 前端开发
java开发之使用websocket实现web客户端与服务器之间的实时通讯
使用websocket实现web客户端与服务器之间的实时通讯。以下是个简单的demo。
9463 0
【转】Cowboy 开源 WebSocket 网络库
原文链接: http://www.cnblogs.com/gaochundong/p/cowboy_websockets.html
1083 0
|
C++ 网络架构
Onvif开发之服务端发现篇
服务端的开发相对来说比客户端稍微难一点,也就是给填充相关结构体的时候,需要一点一点的去查阅,验证各个结构中各个成员各自代表什么意思,以及对应的功能需要是那个接口实现,这是开发服务端最头疼的事情。(在开发过程中郁闷了好久,后面是通过搜索工具抓包海康设备来填充相关信息的)开始切入主题了,准备服务端的开发了。
2092 0
XMPP客户端库Smack
原文博客地址:http://blog.csdn.net/chszs/article/details/41576877
858 0
XMPP客户端
1. Strophe.js 2. Converse.js
1228 0
|
关系型数据库 MySQL 数据库
XMPP(一)-openfire服务端的安装和搭建
XMPP全称:可扩展通讯和表示协议 简介:可扩展通讯和表示协议 (XMPP) 可用于服务类实时通讯、表示和需求响应服务中的XML数据元流式传输。XMPP以Jabber协议为基础,而Jabber是即时通讯中常用的开放式协议。XMPP is the IETF's formalization of the base XML streaming protocols for inst
1656 0
|
Java API
XMPP客户端库Smack 4.0.6版开发
XMPP客户端库Smack 4.0.6版开发 一、Smack库概述 Smack是一个开源、易用的XMPP/Jabber客户端库,它使用Java语言开发,由Jive Software开发。
1178 0