码迷,mamicode.com
首页 > 系统相关 > 详细

Smack知识知多少

时间:2015-03-11 15:10:09      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:xmpp   im   openfire   spark   

    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

Smack知识知多少

标签:xmpp   im   openfire   spark   

原文地址:http://favccxx.blog.51cto.com/2890523/1619227

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!