XMPP是個啥東東

2021-05-10 04:17:14 字數 1363 閱讀 6604

1、什麼是xmpp ?

xmpp(可擴充套件訊息處理現場協議)是基於可擴充套件標記

xmpp的前身是jabber,乙個開源形式組織產生的

網路即時通訊協議。xmpp目前被ietf國際標準組織完成了標準化

工作。標準化的核心結果分為兩部分;

核心的xml流傳輸協議

基於xml流傳輸的即時通訊擴充套件應用

xmpp的核心xml流傳輸協議的定義使得xmpp能夠在乙個比以往網路通訊協議更規範的平台上。借助於xml易於解析和閱讀的特性,使得xmpp的協議能夠非常漂亮。

xmpp的即時通訊擴充套件應用部分是根據ietf在這之前對即時通訊的乙個抽象定義的,與其他業已得到廣泛使用的即時通訊協議,諸如aim,qq等有

功能完整,完善等先進性。

2、xmpp的基本網路結構是怎樣的?

xmpp中定義了三個角色,客戶端,伺服器,閘道器。通訊能夠在這三者的任意兩個之間雙向發生。伺服器同時承擔了客戶端資訊記錄,連線管理和資訊的路由功能。閘道器承擔著與異構即時通訊系統的互聯互通,異構系統可以包括sms(簡訊),msn,icq等。基本的網路形式是單客戶端通過tcp/ip連線到單伺服器,然後在之上傳輸xml。

3、xmpp通過tcp傳什麼了?

傳輸的是與即時通訊相關的指令。在以前這些命令要麼用2進製的形式傳送(比如qq),要麼用純文字指令加空格加引數加換行苻的方式傳送(比如msn)。而xmpp傳輸的即時通訊指令的邏輯與以往相仿,只是協議的形式變成了xml格式的純文字。這不但使得解析容易了,人也容易閱讀了,方便了

4、舉個例子看看所謂的xml流是什麼樣子的?

客戶端:<?xml version='1.0'?>

伺服器:<?xml version='1.0'?>

...其他通訊...

客戶端:

客戶端: art thou not romeo, and a montague?

客戶端:

伺服器:

伺服器:neither, fair saint, if either thee dislike.

伺服器:

客戶端:

伺服器:

以文件的觀點來看,客戶端或伺服器傳送的所有xml文字連綴在一起,從到構成了乙個完整的xml文件。其中的stream標籤就是所謂的xml stream。在與中間的那些...< /message>這樣的xml元素就是所謂的xml stanza(xml節)。xmpp核心協議通訊的基本模式就是先建立乙個stream,然後協商一堆安全之類的東西,中間通訊過程就是客戶端傳送xml stanza,乙個接乙個的。伺服器根據客戶端傳送的資訊以及程式的邏輯,傳送xml stanza給客戶端。但是這個過程並不是一問一答的,任何時候都有可能從乙個方發信給另外一方。通訊的最後階段是關閉流,關閉tcp/ip連線。

啥 啥 啥,服務治理是個啥

首先,先說下服務治理的邊界,本質上任何能提公升服務可用性,效能,讓服務更穩定等等,只要是能讓服務執行的更好,都屬於服務治理的範疇。服務治理比較常見的話題 服務發現,服務變更管理,服務監控,服務擴容縮容,服務自我保護,服務降級,服務授權防攻擊,服務上線驗證和灰度發布,服務問題定位和跟蹤,服務負載,服務...

solr facet是個好東東

一直沒有想到為什麼要使用solr,雖然solr提供很多利器 前段時間在考慮如果做搜尋分組統計的乙個個東東,想了很多方案,仍然感覺不好,直到我看到 apache con 2007上的一篇文件apache solr out of the box ootb 我覺得看到了希望 裡面提到的facet正是我想要...

Apache Hive是個什麼東東

hive是什麼?要想將乙個東西使用好,必須首先對這個東西有乙個很正確的定位。答案如下 hive是乙個資料倉儲工具。hive是乙個可以用來便利讀取 寫入 管理海量資料集的資料倉儲工具。hive是乙個可以使用sql語法讀取 寫入 管理分布式儲存系統上的海量資料集的資料倉儲工具。hive是基於hadoop...