我的小結

推送:分爲遠程推送和本地推送緩存

遠程推送:顧名思義就是從蘋果服務器推送過來的消息,這種推送須要目標設備的 deveiceToken 和 UDID, 其中前者是由程序的服務器提供給蘋果服務器,後者是蘋果服務器本身活得的,根據這二者能夠講消息惟一的推送給指定的目標.服務器

本地推送:就是不通過蘋果官方服務器進行的推送,最經常使用的就是極光推送,它的使用原理就的經過 socket 加心跳包的方式來實現, socket 能夠理解爲肯定某臺設備使用的,它是 IP 地址+協議+端口號.心跳包的做用就是經過不斷的發送消息到客戶端,判斷用戶是否在線,若是不在線則要用遠程推送,若是在線則用本地推送.架構

 

即時通信:經常使用的方式有 XMPP, 環信和融雲app

XMPP: 便可擴展通信協議,官方提供的即時通信協議.因爲是即時通信,因此使用的是本身的服務器來進行通信的,這就須要常見本地服務器(openfire 服務器).它的通信架構爲 C/S 架構,通信原理是經過 socket 來實現的,它在傳輸過程當中傳輸的是 XML 數據流.所以 XMPP 通信須要兩個條件:openFire 服務器和 XMPP 框架框架

XMPP 使用原理:它是一種 C/S 架構模式,所以使用的原理是客戶端經過socket

TCP/IP 鏈接到服務器,經過 socket 創建連接,而後在通道上傳輸 XML 數據流.視頻

環信:環信是對官方的即時通信協議進行的封裝,所以使用的原理是同樣的.環信的優勢就是不用用戶在本身建立服務器開發

環信的使用步驟:註冊爲開發者à獲取 appkeyà 下載 SDKà 按照文檔作事情文檔

 

使用區別:文件上傳

XMPP: 發送附件比較麻煩.這是因爲 XMPP 沒有提供發送附件的功能,要發送附件的話要本身實現,實現方法爲:先將文件上傳到文件服務器,而後獲取文件路徑,最後將文件路徑發送給好友.

注:解析 XMPP 返回的數據的時候用的是 kissXML框架 而不是經常使用的哪幾種框架.

環信:內部集成了服務器使用很方便,實現了數據緩存,實現了音視頻等的發送功能.

相關文章
相關標籤/搜索