XMPP學習 1 介紹

2022-09-08 12:03:13 字數 2433 閱讀 9081

xmppextensible messaging and presence protocol,前稱jabber[1]

)是一種以xml為基礎的開放式實時通訊協議,是經由網際網路工程工作小組(ietf)通過的網際網路標準。xmpp因為被google talk應用而被廣大網民所接觸。

運作方式

xmpp網路是基於伺服器的(即客戶端之間彼此不直接交談),但是也是分布式的。不像aol實時通或msn messenger等服務,xmpp沒有**官方伺服器。jabber.org的公眾伺服器上有大量的使用者,所以有些人誤解了,以為它是官方伺服器,不過事實上任何人都可以在自己的網域上執行xmpp伺服器。

jabber識別符(jid)是使用者登入時所使用的賬號,看起來通常像乙個電子郵件位址,如[email protected];前半部分為使用者名稱,後半部分為xmpp伺服器網域名稱,兩個欄位以@符號區隔。

假設朱麗葉([email protected])想和羅密歐([email protected])通話,他們兩人的賬號分別在capulet.com及montague.net的伺服器上。當朱麗葉輸入資訊並按下傳送鈕之後,一連串的事件就發生了:

朱麗葉的xmpp客戶端將她的資訊傳送到capulet.com xmpp伺服器。

capulet.com xmpp伺服器開啟與montague.net xmpp伺服器的連線。

juliet

capulet.com

montague.net

romeo

羅密歐與朱麗葉兩人的xmpp服務是由兩家不同的業者所提供的,而他們彼此傳訊時,不須擁有對方伺服器的賬號,也不須成為對方業者的會員。

使用xmpp協議的客戶端與伺服器端對話的例子

客戶端(kuusipuu)連線到乙個xmpp伺服器(amessage.de:5222/tcp),傳送一條訊息(主題和內容均為「test 1449」)到另乙個客戶端(tero),然後登出。

kuusipuu:

xml version="1.0"

?>

<

stream:stream

xmlns:stream

=""xmlns

="jabber:client"

to="amessage.de"

>

amessage.de:

<

stream:stream

xmlns

='jabber:client'

xmlns:stream

=''from

='amessage.de'

id='1461777714'

>

kuusipuu:

<

iq type

="set"

id="auth_2"

to="amessage.de"

>

<

query

xmlns

="jabber:iq:auth"

>

<

username

>kuusipuu

username

>

<

password

>mypassword

password

>

<

resource

>work

resource

>

query

>

iq>

amessage.de:

<

iq from

="amessage.de"

id='auth_2'

type

='result'

/>

kuusipuu:

<

message

to="[email protected]"

>

<

subject

>test 1449

subject

>

<

body

>test 1449

body

>

message

>

<

presence

type

="un**ailable"

>

<

status

>logged out

status

>

presence

>

stream:stream

>

amessage.de:

stream:stream

>

參考:

機器學習1 介紹

2021.1.9 從今天起開始系統地學習深度學習。課程網頁 李巨集毅教授的機器學習課程網頁 如果要找的函式的輸出是乙個數值 scalar regression 如果要找的函式的輸出是兩個或多個可能 classification 機器學習除了regression classification外,還有g...

RabbitMQ學習(1) 介紹

我翻譯官網的文件,僅供自己學習用.rabbitmq 是什麼,它就是乙個訊息佇列,用在 用在不需要及時處理的地方,比如傳送驗證碼,傳送郵件等等,多使用者訂閱,最大化發揮系統效能,rabbitmq是乙個訊息 它接受和 訊息。你可以把它想象成乙個郵局 當你把郵件放在郵箱裡時,你可以確定郵差先生最終會把郵件...

推薦系統 1 介紹

介紹 協同過濾 cf 協同過濾中的高階主題 advanced topics in cf 基於內容的推薦系統 contented based recommendation 基於知識的推薦系統 knowledge based recommendation 序列化推薦系統 sequential recom...