XMPP客戶端庫Smack 4 0 6版開發之一
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
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過濾器被移除了