2010-06-22 170 views
108

我一直在尋找一些開源的XMPP服務器,並且熟悉官方頁面http://xmpp.org/。但到目前爲止,我還沒有發現任何東西。「可擴展消息和呈現協議(XMPP)是一種用於實時通信的開放技術」和XEP規範列表。例如,解釋基礎知識和術語的文章 - 節,智商,在場等等。即使是Wikipedia頁面也沒有這樣做,毫不奇怪,開源項目假設你在開始深入代碼之前知道這些東西。關於XMPP的好教程?

是否有一個很好的,(半)正式的教程集呢?我需要尋找Jabber資源而不是XMPP嗎?

其中,我希望看到用例和流程圖,而不僅僅是幹協議文本。我知道有關XMPP的書籍,但通常書中的任何內容都可以在網上以某種形式獲得。

回答

8

RFC(維基百科頁面上列出)應該是一個很好的介紹這個話題。

例如:RFC3920: Extensible Messaging and Presence Protocol (XMPP): Core

+2

我寧願找到原始協議以外的東西,它們的寫法都是精確的而不是友好的......但仍然知道它涵蓋了有用的基本原則。 – 2010-06-22 11:46:25

+0

所以你正在尋找一個XMPP的程序員教程,它不會深入到協議的基礎知識? 我前段時間用「XMPP Python API」(Google AP-Engine)進行了實驗:http://code.google.com/appengine/docs/python/xmpp/overview.html 也許這可能是一個條目到XMPP世界:) – FloE 2010-06-22 11:52:19

+0

有點......但是我曾與你一起工作過的每一項技術都有官方規範作爲參考,但是閱讀教程可以更快地學習基礎知識。像DirectX或Spring或CSS或其他任何東西。 – 2010-06-22 12:12:56

36

這裏是讓我startet上XMPP發展:

  • 一本好書:XMPP The Definivie Guide
  • 一個成熟的Java API。我從Ignite Realtime中選擇了Smack Library,並使用groovy語言和一些小腳本來學習基礎知識。

後來我開發了OpenFire XMPP服務器的插件。在他們的網站上也有一些教程和論壇。我認爲無論是開放式的還是開放式的api都很容易學習。

如果你不是java的話:本書參考了SkeekXMPP Python庫,並使用它創建了一些示例(echo bot,...)。

+0

Openfire是我的選擇,實際上,和Java。 – 2010-06-22 12:50:36

+0

好。我建議你看看這本書。由於API類大多是以xmpp概念/節的形式命名的,所以一旦您瞭解了基本術語,您就有了一個很好的起點。 – tweber 2010-06-22 13:46:03

+0

這是該書的合法版本嗎?我寧願找到免費的在線資源,但如果我使用一本書,我寧願付錢,如果我應該? – 2010-06-22 16:31:22

17

正如其他人所說,規格是一個很好的介紹。確實,它們本質上是技術性的,並且措詞確切 - 但它們確實是我見過的任何協議的最佳規範,尤其是最新的RFC(61206121),它們闡明瞭一些灰色區域原稿。

E.g.你提到想知道一節的定義,在6120 section 8中解釋過(用例子)。

如果您對如何使規格更清晰有任何反饋,請在XMPP mailing list上說明,其中所有反饋都將在下一版規範中考慮。

如果說明對你來說真的太多了(我欣賞一些人比我喜歡更多的圖片),請考慮the book(無論是紙質還是數字形式) - 它的設計完全是對核心規格和最常見的擴展,並由幫助開發和實現它們的人編寫。

+1

善良,僅RFC 6120超過200頁長。我認爲他們應該保持**簡單** .......... – Pacerier 2014-11-24 12:01:43

+1

簡單並不自動暗示一個簡短的規範。我自己發現XMPP非常簡單。特別是XMPP的模塊性,即XMPP核心,XMPP IM和XEP之間的分割使得我對該協議有吸引力。 – Flow 2015-02-03 16:16:07

52

這可能是太多的基礎,但至少它的技術:http://www.adarshr.com/fun-with-xmpp-and-google-talk和第二部分,http://www.adarshr.com/fun-with-xmpp-and-google-talk-part-2

它解釋節是什麼,什麼類型都可以和東西。

+0

我們簡化了在iOS下使用可可豆莢創建聊天應用程序的過程,您可以在此處瞭解更多或下載演示代碼https://github.com/processone/demo-xmpp-ios – Loegic 2015-07-24 16:36:27

+0

正在維護中 對不便,我很抱歉重建本網站以使您的體驗更加美好。 這不應該花很長時間。 – Adil 2018-02-12 11:10:49

+0

我的鏡像仍然存在,不知道爲什麼它從我的答案中刪除... https://f.gdr.name/xmpp-tutorial.tar.gz – GDR 2018-02-19 09:19:26

1

http://beem-project.com/projects/beem/files 下載使用XMPP asmack庫asmack-Android的7-BEEM-jingle.jar

http://www.igniterealtime.org/downloads/index.jsp

文檔希望它可以幫助別人喜歡它幫我

+0

爲什麼要使用Beem而不是原始的ASmack頁面? – Pacerier 2014-11-24 11:34:03

+0

@Pacerier我最後一次檢查asmack不穩定,它並沒有經常更新,所以我反而使用了bema版本的asmack,它定期更新,它也似乎更穩定。 – 2014-11-24 11:41:00

1

在服務器端安裝openfire並在android端使用qsmack。

+2

爲什麼我們qsmack而不是asmack? – Pacerier 2014-11-24 11:36:40

2

這可能是一個老問題,但我只是想保持我用來學習XMPP的過程。

幾年前,我和我的一些朋友正在學習如何利用XMPP,並且瞭解它如何適應大塊是一項相當枯燥的任務。我強烈建議閱讀XMPP的維基百科頁面出發:

http://en.wikipedia.org/wiki/XMPP

你會驚訝有多少人不能夠回答有關問題XMPP,這是最根本的。

我也強烈建議你閱讀這篇文章:

http://www.infoworld.com/article/2682116/application-development/xmpp-rises-to-face-simple-standard.html

它會給你背後XMPP的動機感,它的歷史,它曾經是與它相提並論的協議。

從那裏,最好閱讀維基百科頁面的來源,以便更深入地理解您可能對XMPP感興趣的任何功能。