2010-01-29 118 views
0

我正在開發一個類似Skype的Messenger。爲此我下載了Ejabberd服務器。 我正在開發自己的客戶端使用Java。但我不知道如何配置服務器,以便它們可以相互通信。請幫助我。配置XMPP服務器

+1

由於您使用的是java,因此您需要查看用java編寫的openfire服務器。他們也有客戶端庫。我發現openfire服務器比ejabberd更容易配置。 Openfire位於http://www.igniterealtime.org/projects/openfire/index.jsp。儘管如此,服務器並不需要用任何特定的語言來編寫。但是由於您已經在使用java,因此您可能會發現查看openfire源代碼並查看它們是如何做的更容易。 – 2010-01-30 19:30:04

回答

0

我支持A.R. Diederichs建議看看openfire。您可以快速設置它與嵌入式數據庫,並立即可用。

然後我建議使用Spark客戶端作爲參考實現。您可以打開調試模式(通過屬性面板),並生成一個調試器,顯示客戶端和服務器之間的完整xmpp對話。您甚至可以發送Adhoc xmpp消息,因此,當懷疑服務器配置是否錯誤或消息格式錯誤時,這是​​測試它的一種優雅方式。即使設置ejabberd我也會使用Spark客戶端。如果可行,它也應該適用於(無錯誤)自定義客戶端。

1

建立一個ejabberd服務器

http://www.process-one.net/en/ejabberd/guide_en

如果你正在寫在Java客戶端描述,我認爲使用Spark或拍擊從Openfire的看起來很有希望。客戶端和服務器之間的通信將是XMPP,最好是加密的。典型的ejabberd設置將在啓用ssl的端口5222上具有監聽器,例如,

 
{listen, 
[ 
    {5222, ejabberd_c2s,  [{access, c2s}, 
          {shaper, c2s_shaper}, 
          {max_stanza_size, XYZ}, %% or skip this completely 
          starttls, 
          {certfile, "/path/to/pemfile"}]}, 
... 

我不認爲在Java中編寫客戶端的決定必然影響服務器部分。即使擴展它也不是很難。