介紹
Jabber有第三方外掛程式,能讓Jabber用戶和MSN、YahooMessager、ICQ等IM用戶相互通訊。因為Google遵從Jabber協定,並且Google已經將Gtalk的伺服器開放給了其它的Jabber伺服器。所以PSI、Giam等Jabber客戶端軟體支持GTalk用戶登入。XMPP(可擴展訊息處理現場協定)是基於可擴展標記語言(標準通用標記語言下的一個子集、外語縮寫:XML)的協定,它用於即時訊息(IM)以及線上現場探測。它在促進伺服器之間的準即時操作。這個協定可能最終允許網際網路用戶向網際網路上的其他任何人傳送即時訊息,即使其作業系統和瀏覽器不同。XMPP的技術來自於Jabber,其實它是 Jabber的核心協定,所以XMPP有時被誤稱為Jabber協定。Jabber是一個基於XMPP協定的IM套用,除Jabber之外,XMPP還支持很多套用。
在網路中,jabber是任何一種不正確地處理電信號,通常影響到網路其他部分的設備。在乙太網中,設備爭用線路,總是試著傳送一個信號,然後如果有其他設備也在同時進行了嘗試就重試著傳送信號。jabber可以看作是一個不斷地傳送信號,最後讓網路處於中斷狀態的設備。jabber通常是一塊不好的網卡(NIC)導致的結果。有時,它也可能由於外界的電干擾所導致。
IEEE XMPP工作組(一個工程師和程式設計師聯盟)正在改編XMPP以用作網際網路工程任務組(IETF)技術。XMPP最終有望使用鑑定、訪問控制、高級隱私、逐跳加密、端端加密以及與其它協定的相容等套用來支持IM。
客戶端
Google官方公布的 Jabbe/XMPP客戶端有:
Jabber. org 列出了更為詳盡的客戶端:Jabber Clients
Google已經將Gtalk的開發注意力轉移到了Hangout上.這點從Google Developer API知識庫中可以看到,Google已經將Gtalk轉移到了Hangout上來。或者說Hangout是Gtlak的現時版本也可以。固本文中所有出現的Gtalk相關的辭彙都應替換為Hangout。
Hangout同樣支持XMPP協定,具體信息可以查看Google Developer API知識庫。
使用方法
Goolge官方列表中比較好用的是 PSI (使用方法見:PSI,導入MSN、Yahoo、ICQ到Gtalk)。
不在官方列表中的一個軟體是 Pandion (下載),經測試,GTalk登入速度要快於 PSI ,界面美觀,使用方法:
①運行軟體,先點擊登入視窗上的"Connection Settings"→在"Secure
Communication"欄中點選"Require SSL encryption",確定後返回登入視窗,輸入完整的GT賬號登入。
②導入其它通訊協定:登入後依次點擊主視窗上的 工具 → 網路橋連→ 其他橋接→ 輸入一個伺服器,如:Jabber. cn →
點擊協定列表中相應的伺服器,比如MSN → 下一步 → 輸入MSN帳號、密碼和暱稱 →
完成。伺服器會自動讀取你現有的好友列表,並導入到Gtalk中。取消協定只要點擊相應的伺服器,點擊"停止使用橋接"。
要感受到Jabber的妙處,一個穩定、多協定支持的伺服器是必須的。除了前面提到的 Jabber. cn ,更多的伺服器可以去 Jabber
Network 選擇,它詳細列出了每個伺服器支持的協定類型,非常直觀。
用了很久的Jabber Client,令人感到興奮的是終於有QQ的Jabber伺服器了。加入該服務後,QQ好友並不會顯示在主視窗聯繫人列表中。詢問管理員後得到的回覆是:"由於害怕騰訊訴訟,我們沒敢做成雙向,現在僅僅是單向,你的好友列表不會被刷新出來。但是你的QQ好友和你說話時,會在我們這邊顯示出來,你也可以回復,很快wap版本將會推出。"
擴展套用
GTalk還設有群組功能,但通過一個訊息轉發工具,可以實現聊天室功能(打造你自己的Gtalk聊天室)。如果還想讓非GT用戶加入GTalk群聊,就可以通過Jabber客戶端網路橋接的方式實現。例:註冊一個MSN賬號作為公共賬號,並將其橋接到GTalk群聊賬號中,再讓MSN用戶添加該公共賬號就可以讓他們加入GT聊天室。其它協定亦然。
許可證
Jabber許可證的全稱是Jabber Open Source License,由美國Jabber. Com, Inc.公司提供。Jabber許可證在原始碼的複製、發行規定方面基本上和其他許可證沒有什麼特別,但有一些細節規定值得借鑑:
◆ 可以將通過該許可證獲得的原始碼及修改過的原始碼與其他類型的不受該許可證約束的代碼結合,以新產品的形式發布,只要其中經該許可證獲得的原始碼及修改過的原始碼能以與該許可證的要求類似的、符合OSI認證的其他開源軟體許可證的方式發布。
◆ 明確了需將原始碼置於公眾可以得到的狀態的時間至少應為12個月。
◆ 第三方對法定權利的聲明。假如使用者發現通過本許可證獲得的原始碼及應用程式接口中有一方擁有的智慧財產權,應單獨在源碼的發布時冠以“LEGAL”為抬頭的聲明,寫明智慧財產權權利要求的細節,提請原始碼的接受者知道自己獲得了哪些智慧財產權的授權,讓源碼的接受者知道如何與智慧財產權權利人聯繫。
◆ 細化了該許可證終止的情形,包括不按該許可證的要求發布和使用原始碼、發生專利侵權訴訟。
套用
國人已經開發出jabber的套用:JeCat-Jabber(簡稱:JJ) 是一款完全由 PHP 開發的即時通訊軟體。JJ 採用 Gtk2 圖像界面庫來實現用戶界面。顧名思義 JJ 使用 Jabber 協定(XMPP) ,因此可以 和 包括 GTalk 在內的 其它任何 XMPP即時通訊軟體聊天。
JJ 的特點:
> 跨平台,JJ 在Linux 環境下 開發,在 Windows 平台上也一樣可以正常使用。
> 實用 標準的 XMPP協定,能夠與其它的 Jabber軟體互相通訊,例如 Google GTalk、Pidgin、PSI、Spark、Pandion,以及其它的 Jabber網頁聊天視窗
> 可更換界麵皮膚,皮膚樣式檔案 採用 類似 CSS 的語法,便於美工獨立工作。
> 純 PHP 實現,從 通訊協定 到 圖形界面,全部都由 PHP 開發,如果你正好是一名 PHP程式設計師,你可以駕輕就熟地在 JJ 之上進行二次開發。
> 可整合到你的網站中。JJ 的完善 會使 JJ 更容易地 為你的網站所有,讓你的網站 也可以有像淘寶旺旺那樣的 專用聊天工具
優點
開放—Jabber協定是自由、開放、公開的,並且易於了解。而且在客戶端、伺服器、元件、源碼庫等方面,都已經各自有多種實作。
標準—網際網路工程工作小組(IETF)已經將Jabber的核心XML(標準通用標記語言下的一個子集)串流協定以XMPP之名,正式列為認可的即時通訊及Presence技術。而XMPP的技術規格已被出版為RFC3920及RFC3921。
證實可用—第一個Jabber技術是JeremieMiller在1998年開發的已經相當穩定;數以百計的開發者為Jabber技術而努力。今日的網際網路上有數以萬計的Jabber伺服器運作著,並有數以百萬計的人們使用Jabber即時傳訊軟體。
分散式—Jabber網路的架構和電子郵件十分相像;因此任何人都可以運行自己的Jabber伺服器,使個人及組織能夠掌控他們的即時傳訊體驗。
安全—任何Jabber伺服器可以獨立於公眾Jabber網路(例如在企業內部網路中),而使用SASL及TLS等技術的可靠安全性,已內建於核心XMPP技術規格中。
可擴展—XML命名空間的威力可使任何人在核心協定的基礎上建造客制化的功能;為了維持通透性,常見的擴充套件由Jabber軟體基金會管理。
彈性佳—Jabber除了可用在即時通訊的套用程式,還能用在網路管理、內容供稿、協同工具、檔案共享、遊戲、遠端系統監控等。
多樣性—用Jabber協定來建造及部署即時套用程式及服務的公司及開放源碼計畫分布在各種領域;用Jabber技術開發軟體,資源及支援的來源是多樣的,使得使你不會陷於被“綁架”的困境。
運作方式
Jabber網路是基於伺服器的(即客戶端之間彼此不直接交談),但是也是分散式的。不像AOL即時通或MSNMessenger等服務,Jabber沒有中央官方伺服器。Jabber. org的公眾伺服器上有大量的用戶,所以有些人誤解了,以為它是官方伺服器,不過事實上任何人都可以在自己的網域上運行Jabber伺服器。
Jabber識別符(JID)是用戶登入時所使用的帳號,看起來通常像一個電子郵件地址,如someone@example. com;前半部分為用戶名,後半部分為Jabber伺服器域名,兩個欄位以@符號區隔。
假設朱麗葉(juliet@capulet. com)想和羅密歐(romeo@montague. net)通話,他們兩人的帳號分別在Capulet. com及Montague. net的伺服器上。當朱麗葉輸入訊息並按下傳送鈕之後,一連串的事件就發生了:
1朱麗葉的Jabber客戶端將她的訊息傳送到Capulet .comJabber伺服器。
2 Capulet. comJabber伺服器開啟與Montague. netJabber伺服器的連線。
3 Montague. netJabber伺服器將訊息寄送給羅密歐。如果他目前不線上上,那么儲存訊息以待稍後寄送。
Juliet <----> Capulet. com <----> Montague. net <----> Romeo
羅密歐與朱麗葉兩人的Jabber服務是由兩家不同的業者所提供的,而他們彼此傳訊時,不須擁有對方伺服器的帳號,也不須成為對方業者的會員。
其他協定
Jabber系統有一個獨特的網關(也稱作傳送器)功能,該功能允許用戶可以使用其他協定,如AOL、ICQ、MSN、Yahoo、簡訊或者電子郵件。和Trillian或Gaim等其他多協定客戶端不同的是,Jabber在伺服器級別提供這個功能,任何Jabber用戶都可以註冊一個這樣的網關來登錄其他網路。也就是說任何支持Jabber協定的客戶端都可以訪問一個存在的網關,來與其他網路上的用戶聯繫。
軟體
1.Gtalk
2.KIK
3.米聊
4.人人桌面
5.新浪微博私信
6.陌陌
弊端
語言複雜度高,分散式相關功能使用了很冷門的Erlang語言,部署和維護成本較高。