XMPP是什么
- XMPP:The Extensible Messaging and Presence Protocol(可擴(kuò)展通訊和表示協(xié)議)
- XMPP是一種基于XMl的即時(shí)通訊協(xié)議
- XMPP的官方文檔是RFC 3920
這個(gè)文檔定義了登錄喷众,退出,獲取好友愈涩,發(fā)送消息等等的XML數(shù)據(jù)源傳輸協(xié)議 - XMPP是一個(gè)典型的C/S框架
- 基本的網(wǎng)絡(luò)形式是單客戶端通過TCP/IP連接到單服務(wù)器斟览,然后在之上傳輸XM流
- XMPP是一種類似于HTTP協(xié)議的一種數(shù)據(jù)傳輸協(xié)議,其過程就如同“解包裝-> 包裝”的過程。只需要理解其接收的類型及返回的類型裕循,便可以很好地利用XMPP來進(jìn)行數(shù)據(jù)通訊
- XMPP官方網(wǎng)站-http://xmpp.org
XMPP實(shí)現(xiàn)即時(shí)通訊的準(zhǔn)備工作
- 下載Openfire服務(wù)器
- 下載XMPPFramework框架
是否使用過XMPP淹父,XMPP的實(shí)現(xiàn)原理
- XMPP是一個(gè)即時(shí)通訊協(xié)議,它定義好用于即時(shí)通信在網(wǎng)絡(luò)上數(shù)據(jù)傳輸格式的,比如登錄八回,獲取好友列表等等的格式。XMPP在網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)是XML格式
- 比如登錄:把用戶名和密碼放在xml的標(biāo)簽中,傳輸?shù)椒?wù)器
- XMPP是一個(gè)基于Socket通過的網(wǎng)絡(luò)協(xié)議,目的是為了保存長連接饥臂,以實(shí)現(xiàn)即時(shí)通訊功能
- XMPP的客戶端是使用一個(gè)XMPPFramework的框架
- XMPP的服務(wù)器是使用Openfire,一個(gè)開源的服務(wù)器
- 假設(shè)客戶端獲取到服務(wù)發(fā)送過來的還有消息,客戶端需要對XML進(jìn)行解析,使用的解析框架的KissXML框架
在使用XMPP的時(shí)候有沒有遇到什么苦難
- 發(fā)送附件(圖片假勿,語音,文檔...)時(shí)比較麻煩
- XMPP框架沒有提供附件傳送的功能,需要自己實(shí)現(xiàn)
- 實(shí)現(xiàn)方法,把文件上傳到文件服務(wù)器,上傳成功后獲取文件保存路徑午乓,在把附件的路徑發(fā)送給好友
是否使用過換新夷家,簡單的說下環(huán)信的實(shí)現(xiàn)原理
- 環(huán)信一個(gè)即時(shí)通信的服務(wù)提供商
- 環(huán)信使用的是XMPP的一些,它是在XMPP的基礎(chǔ)上進(jìn)行二次開發(fā),對服務(wù)器Openfire和客戶端進(jìn)行功能模型的添加和客戶端SDK的封裝膀曾,環(huán)信的本質(zhì)還是使用XMPP,基于Socket的網(wǎng)絡(luò)通信
- 環(huán)信內(nèi)部實(shí)現(xiàn)了數(shù)據(jù)緩存,會把聊天記錄添加到數(shù)據(jù)庫扎瓶,把附件下載到本地秕岛,程序員更多時(shí)間花到界面用戶體驗(yàn)上
- 環(huán)信內(nèi)部已經(jīng)實(shí)現(xiàn)了視頻,音頻误证,圖片继薛,其他附件發(fā)送功能。
- 環(huán)信使用公司可以節(jié)約時(shí)間成本
- 不需要公司內(nèi)部搭建服務(wù)器
- 客戶端的開發(fā),使用環(huán)信SDK比使用XMPPFramework更簡潔方便