xmpp(extensible messaging and presence protocol,前稱jabber[1])是一種以xml為基礎的開放式實時通訊協議,是經由網際網路工程工作小組(ietf)通過的網際網路標準。xmpp因為被google talk應用而被廣大網民所接觸。
運作方式使用xmpp協議的客戶端與伺服器端對話的例子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服務是由兩家不同的業者所提供的,而他們彼此傳訊時,不須擁有對方伺服器的賬號,也不須成為對方業者的會員。
客戶端(kuusipuu)連線到乙個xmpp伺服器(amessage.de:5222/tcp),傳送一條訊息(主題和內容均為「test 1449」)到另乙個客戶端(tero),然後登出。
kuusipuu:
xml version="1.0"amessage.de:?>
<
stream:stream
xmlns:stream
=""xmlns
="jabber:client"
to="amessage.de"
>
<kuusipuu:stream:stream
xmlns
='jabber:client'
xmlns:stream
=''from
='amessage.de'
id='1461777714'
>
<amessage.de: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>
<kuusipuu:iq from
="amessage.de"
id='auth_2'
type
='result'
/>
<amessage.de:message
to="[email protected]"
>
<
subject
>test 1449
subject
>
<
body
>test 1449
body
>
message
>
<
presence
type
="un**ailable"
>
<
status
>logged out
status
>
presence
>
stream:stream
>
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...