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ò)形式是單客戶端通過(guò)TCP/IP連接到單服務(wù)器搔涝,然后在之上傳輸XM流
- XMPP是一種類(lèi)似于HTTP協(xié)議的一種數(shù)據(jù)傳輸協(xié)議和措,其過(guò)程就如同“解包裝-> 包裝”的過(guò)程。只需要理解其接收的類(lèi)型及返回的類(lèi)型诬留,便可以很好地利用XMPP來(lái)進(jìn)行數(shù)據(jù)通訊
- XMPP官方網(wǎng)站-http://xmpp.org
XMPP實(shí)現(xiàn)即時(shí)通訊的準(zhǔn)備工作
- 下載Openfire服務(wù)器
- 下載XMPPFramework框架
是否使用過(guò)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通過(guò)的網(wǎng)絡(luò)協(xié)議吩愧,目的是為了保存長(zhǎng)連接雁佳,以實(shí)現(xiàn)即時(shí)通訊功能
- XMPP的客戶端是使用一個(gè)XMPPFramework的框架
- XMPP的服務(wù)器是使用Openfire同云,一個(gè)開(kāi)源的服務(wù)器
假設(shè)客戶端獲取到服務(wù)發(fā)送過(guò)來(lái)的還有消息,客戶端需要對(duì)XML進(jìn)行解析温兼,使用的解析框架的KissXML框架
在使用XMPP的時(shí)候有沒(méi)有遇到什么苦難
- 發(fā)送附件(圖片武契,語(yǔ)音,文檔...)時(shí)比較麻煩
- XMPP框架沒(méi)有提供附件傳送的功能届垫,需要自己實(shí)現(xiàn)
- 實(shí)現(xiàn)方法全释,把文件上傳到文件服務(wù)器,上傳成功后獲取文件保存路徑浸船,在把附件的路徑發(fā)送給好友
是否使用過(guò)換新,簡(jiǎn)單的說(shuō)下環(huán)信的實(shí)現(xiàn)原理
- 環(huán)信一個(gè)即時(shí)通信的服務(wù)提供商
- 環(huán)信使用的是XMPP的一些登淘,它是在XMPP的基礎(chǔ)上進(jìn)行二次開(kāi)發(fā)封字,對(duì)服* 務(wù)器Openfire和客戶端進(jìn)行功能模型的添加和客戶端SDK的封裝耍鬓,環(huán)信的本質(zhì)還是使用XMPP牲蜀,基于Socket的網(wǎng)絡(luò)通信
- 環(huán)信內(nèi)部實(shí)現(xiàn)了數(shù)據(jù)緩存绅这,會(huì)把聊天記錄添加到數(shù)據(jù)庫(kù),把附件下載到本地峭判,程序員更多時(shí)間花到界面用戶體驗(yàn)上
- 環(huán)信內(nèi)部已經(jīng)實(shí)現(xiàn)了視頻棕叫,音頻奕删,圖片,其他附件發(fā)送功能伏钠。
- 環(huán)信使用公司可以節(jié)約時(shí)間成本
- 不需要公司內(nèi)部搭建服務(wù)器
- 客戶端的開(kāi)發(fā),使用環(huán)信SDK比使用XMPPFramework更簡(jiǎn)潔方便
(有一句話叫做三人行必有我?guī)熓斓啵鋵?shí)做為一個(gè)開(kāi)發(fā)者扎拣,有一個(gè)學(xué)習(xí)的氛圍跟一個(gè)交流圈子特別重要這是一個(gè)我的iOS交流群656315826,不管你是小白還是大牛歡迎入駐誉券,正在求職的也可以加入刊愚,大家一起交流學(xué)習(xí),話糙理不糙鸥诽,互相學(xué)習(xí),共同進(jìn)步决帖,一起加油吧蓖捶。)
以下網(wǎng)盤(pán)內(nèi)的資料都可以找我免費(fèi)獲取,希望可以幫助到大家