Smack知识知多少
1. Smack是什么?
Smack是为使用XMPP服务器进行即时交流(包括发送即时消息和组聊天)而提供的库。
2. Smack有哪些优点?
非常简单易用,强大的API。只需几行代码就能完成发送消息。
Smack与其它类库不同的是,它不会强制你在包级使用。它提供了更有效的高级别的结构如Chat类和Roster类,会让你的编程更有效。
你不需要熟悉XML语法,即便不熟悉XML也可以。
提供简单的机器与机器之间的通讯。Smack允许你为每条消息设置属性,包括Java对象的属性。
Apache开放许可代码,可以用于商业和非商业的应用。
3. Smack发展史?
Smack目前最新版本为4.0.7。http://www.igniterealtime.org/downloads/index.jsp#openfire
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过滤器被移除了
本文出自 “尘风随影的天空” 博客,请务必保留此出处http://favccxx.blog.51cto.com/2890523/1619227
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。