XMPP面試問題-1

有沒有做過即時(shí)通訊?是否使用過XMPP,講述一下XMPP的實(shí)現(xiàn)原理

XMPP是一個(gè)即時(shí)通訊的協(xié)議,它規(guī)范了用于即時(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é)議,目的就是為了保護(hù)長連接,以實(shí)現(xiàn)即時(shí)通訊功能

XMPP的客戶端是使用一個(gè)XMPPFramework框架實(shí)現(xiàn)

XMPP的服務(wù)器是使用Openfire,一個(gè)開源的服務(wù)器

客戶端獲取到服務(wù)器發(fā)送過來的好友消息,客戶端需要對(duì)XML進(jìn)行解析,使用的解析框架的KissXML框架,而不是NSXMLParser/GDataXML。

在使用XMPP的時(shí)候有沒有遇到什么困難

1.發(fā)送附件(圖片,語言,文檔等等)時(shí)比較麻煩

2.XMPP框架沒有提供發(fā)送附件的功能,需要自己實(shí)現(xiàn)(但是環(huán)信已經(jīng)把這些功能集成進(jìn)去了)

實(shí)現(xiàn)方法,把文件上傳到文件服務(wù)器,上傳成功后獲取文件保存路徑,再把附件的路徑發(fā)送給好友

更為直觀形象的表達(dá):

用XMPPFramework發(fā)送圖片,語音,文檔的時(shí)候不能直接發(fā)送到Openfire服務(wù)器,先把文件保存到文件服務(wù)器中,然后文件服務(wù)器會(huì)返回一個(gè)以圖片,語音等的路徑,之后就把這個(gè)路徑放到xml的消息體里面。

是否使用過環(huán)信,簡(jiǎn)單說下環(huán)信的實(shí)現(xiàn)原理

環(huán)信是一個(gè)即時(shí)通訊的服務(wù)提供商

環(huán)信使用的是XMPP協(xié)議,它是在XMPP的基礎(chǔ)上進(jìn)行二次開發(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ù)庫,把附件(如音頻文件,圖片文件)下載到本地,使程序員更多時(shí)間是花到用戶即時(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更簡(jiǎn)潔方便

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、即時(shí)通訊 什么是即時(shí)通訊? 即時(shí)通訊,又稱實(shí)時(shí)通訊 即時(shí)通信(Instant Messaging,簡(jiǎn)稱IM)是...
    Mg明明就是你閱讀 7,892評(píng)論 0 42
  • 即時(shí)通訊 什么是即時(shí)通訊? 即時(shí)通訊,又稱實(shí)時(shí)通訊 即時(shí)通信(Instant Messaging,簡(jiǎn)稱IM)是一個(gè)...
    hAo_JS閱讀 734評(píng)論 0 1
  • 關(guān)于XMPP最權(quán)威的講解:http://www.jabbercn.org/RFC3920(這個(gè)才是最權(quán)威的,下面文...
    隨風(fēng)飄蕩的小逗逼閱讀 1,643評(píng)論 1 5
  • 前面關(guān)于即時(shí)通訊基礎(chǔ)Socket,大家學(xué)習(xí)使用XMPP之前可以先看看即時(shí)通訊系列之Socket簡(jiǎn)介 前言 前段時(shí)間...
    音符上的碼字員閱讀 4,472評(píng)論 3 16
  • Socket: 1>Socket又稱"套接字” 2>網(wǎng)絡(luò)上的兩個(gè)程序通過一個(gè)雙向的通信連接實(shí)現(xiàn)數(shù)據(jù)的交換,這個(gè)連接...
    哈哈哈_哈哈哈閱讀 838評(píng)論 0 3

友情鏈接更多精彩內(nèi)容