XMPP客户端库Smack 4.0.6版

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过滤器被移除了

时间: 2024-10-13 17:31:00

XMPP客户端库Smack 4.0.6版的相关文章

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

XMPP客户端库Smack 4.0.6版开发之三 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 六.建立连接的例子 XMPPConnection类用于创建一个到XMPP服务器的连接,代码例子如下: // 创建一个到jabber.org服务器的连接 AbstractXMPPConnection conn1 = new XMPPTCPConnection("username", "password", "jabb

XMPP客户端库Smack 4.0.6版开发

XMPP客户端库Smack 4.0.6版开发 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 三.Smack库的特征1.极度简单易用,API功能强大发送一条文本消息给某个用户只需几行代码: AbstractXMPPConnection connection = new XMPPTCPConnection("mtucker", "password", "jabber.org"); connection.

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

XMPP客户端库Smack 4.0.6版开发之五 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 四.使用Chat消息通信 来回收发消息是即时通信的核心功能.尽管单条消息是以包的形式发送和接收的,通常还是把他视为聊天的消息字符串,使用org.jivesoftware.smack.Chat类. 1.Chat类 一个聊天Chat会在两个用户之间创建一个消息线程(通过线程ID).下面的代码片段演示了怎样创建一个新聊天,然后向用户发送一条文本消息: //假设

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

XMPP客户端库Smack 4.0.6版开发之六 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 五.名单Roster和在线状态Presence 名单可以让你跟踪其他用户是否在线,而且名单可以让你把用户组织到群组,比如朋友群或工作群.而其它的即时通信IM系统则把名单Roster视为好友列表.联系人列表等等. 1.名单条目 名单中的每一个用户都由RosterEntry来表示,它包括: 1)一个XMPP地址(比如"[email protected]&qu

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

一.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移植版a

XMPPclient库Smack 4.0.6一个版本的开发

XMPPclient库Smack 4.0.6版开发之中的一个 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.Smack库概述 Smack是一个开源.易用的XMPP/Jabberclient库,它使用Java语言开发,由Jive Software开发. Smack的长处是编程简单. Smack的缺点是其API并不是为大量并发用户设计,每一个客户都要1个线程,占用资源相对较,因此用Smack做模拟測试时,1台机器仅仅能模拟有限(数千个)客户. 截止

即时聊天IM之三 XMPP协议客户端库的和Android端框架概述

合肥程序员群:49313181.    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q  Q:408365330     E-Mail:[email protected] smack介绍: 上一篇我介绍了服务端openfire整合现有系统用户,当服务器整合并且搭建完成后,需要做的工作就是写客户端聊天工具了.要么基于pc要么基于移动(Android和IOS).所以这一篇我们一起学习一下smack库,smack是用java写的开源客户端XMPP (Jabber)库,在老版本

java在线聊天项目0.9版 实现把服务端接收到的信息返回给每一个客户端窗口中显示功能之客户端接收

客户端要不断接收服务端发来的信息 与服务端不断接收客户端发来信息相同,使用线程的方法,在线程中循环接收 客户端修改后代码如下: package com.swift; import java.awt.BorderLayout; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; impo

尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。

从10G开始,Oracle提供了一个较为轻量级的客户包,叫做Instant Client. 将它安装好后,就不用再安装庞大的Oracle Client了. 这样一来,只要客户端下载Instant Client,直接解压,设置Path就ok了.具体设置如下:1.下载32位Oracle InstantClient 2.将Oracle InstantClient解压到某目录 3.打开PL/SQL,在perference里面设置OCI Library和Oracle_home,例子如下: