溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

XMPP學(xué)習(xí)筆記(1)

發(fā)布時(shí)間:2020-07-22 16:13:11 來源:網(wǎng)絡(luò) 閱讀:399 作者:ljl5125 欄目:開發(fā)技術(shù)
  1. 即時(shí)通訊的核心在于它的傳輸協(xié)議

  2. xmpp是一個(gè)分散型通信網(wǎng)絡(luò),只要網(wǎng)絡(luò)基礎(chǔ)設(shè)施允許,任何xmpp用戶都可以向其他xmpp用戶傳遞消息

  3. xmpp是一種基于xml的協(xié)議

  4. XMPP中定義了三個(gè)角色,客戶端,服務(wù)器,網(wǎng)關(guān)。通信能夠在這三者的任意兩個(gè)之間雙向發(fā)生

  5. 而XMPP的核心部分就是一個(gè)在網(wǎng)絡(luò)上分片段發(fā)送XML的流協(xié)議。這個(gè)流協(xié)議是XMPP的即時(shí)通訊指令的傳遞基礎(chǔ),也是一個(gè)非常重要的可以被進(jìn)一步利用的網(wǎng)絡(luò)基礎(chǔ)協(xié)議??梢哉f,XMPP用TCP傳的是XML流

  6. 缺點(diǎn):數(shù)據(jù)負(fù)載過重,沒有二進(jìn)制傳輸

  7. XMPP核心文件

    XMPPStream:是開發(fā)過程中最主要交互的類,所有擴(kuò)展和自定義代碼均要基于此類進(jìn)行

    XMPPParser:供XMPPStream解析使用

    XMPPJID:提供了一個(gè)不可變JID的實(shí)現(xiàn),遵守NSCopying協(xié)議和NSCoding協(xié)議

    XMPPElement:以下三個(gè)XMPP元素的基類

    XMPPIQ :請(qǐng)求

    XMPPMessage :消息

    XMPPPresence :出席

    XMPPModule:開發(fā)XMPP擴(kuò)展時(shí)使用

    XMPPLogging:XMPP的日志框架

    XMPPInternal:整個(gè)XMPP框架內(nèi)部使用的核心和高級(jí)底層內(nèi)容

    XMPPReconnect:如果意外中斷,自動(dòng)重連XMPP流

    XMPPRoster:標(biāo)準(zhǔn)的XMPP花名冊(cè)

    XMPPRoom:提供多人聊天支持

    XMPPPubSub:提供公共訂閱支持

    ……


  8. 注意:1)XMPP框架僅提供了一個(gè)最小的代理委托系統(tǒng)用于接收三種XMPP類型(IQ、Message和Presence),如果要實(shí)現(xiàn)更多的功能,開發(fā)者還需要編寫大量的相關(guān)代碼

      2)為了簡(jiǎn)化開發(fā),通常將XMPPStream放置在AppDelegate中,以便于全局訪問


9.  使用XMPP的實(shí)時(shí)消息傳遞系統(tǒng)包含三大通信類別:

    消息傳遞,其中數(shù)據(jù)在有關(guān)各方之間傳輸

    聯(lián)機(jī)狀態(tài),允許用戶廣播其在線狀態(tài)和可用性

    信息/查詢請(qǐng)求,它允許XMPP實(shí)體發(fā)起請(qǐng)求并從另一個(gè)實(shí)體接收響應(yīng)


10. 以上三種類型的XMPP節(jié)都擁有以下公共屬性:

    from:源XMPP實(shí)體的JID

    to:目標(biāo)接收者的JID

    id:當(dāng)前對(duì)話的可選標(biāo)識(shí)符

    type:節(jié)的可選子類型

    xml:lang:如果內(nèi)容是人們可讀的,則為消息語言的描述


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI