簡體   English   中英

超簡單的XMPP服務器或簡單的自定義Openfire組件的建議

[英]Super simple XMPP server or advice for a simple custom Openfire component

我需要一台服務器來發送和接收來自運行我正在編寫的多人游戲的Android客戶端的XMPP消息。 我之所以選擇XMPP是因為我不想長時間輪詢,而套接字可能會成為蜂窩網絡的問題(運營商可能阻止它們)。

我一直在看OpenFire聽起來很神奇,我不需要管理面板語音聊天,聊天室等等。它似乎非常重量級,面向企業的聊天解決方案,我只需要匹配玩家並傳遞他們的動作在最后記錄得分。 是否有一個簡化的OpenFire版本,所以我可以注冊一個組件,它將服務所有請求? 關於使用openfire進行適應,我找不到添加自定義組件來執行類似任務的明確示例。

我需要的是一個庫或現有的簡單服務器,我可以運行並注冊我的自定義消息監聽器。 我只需要能夠為任何進入的請求提供服務並做出適當的響應。 我希望我不必編寫線程管理,因為這個問題對於典型的聊天服務器來說很常見,但我確實需要編寫代碼來解釋和響應發送的消息。

我希望這是有道理的,任何編寫過這樣一段服務器代碼的人都會喜歡這個例子。 對於那些沒有嘗試過,但想知道如何開始的人,請加入! 越詳細越好。

提前致謝,

GAV

您幾乎可以使用任何XMPP服務器; 我知道Openfire可以工作,或者我最近也使用了Prosody ,它非常輕巧,易於安裝(在Linux上)。

您想要的是一個獨立的組件,它使用XMPP組件協議與您的XMPP服務器通信(從而可以訪問您的用戶)。 這就是游戲智能的所在。

有關更多詳細信息,請參閱我之前對非常相似問題的回答:
XMPP C#Interaction

尋找信息的另一個好地方是傑克·莫菲特Jack Moffitt )創作的任何東西,他創造了chesspark.com(因為國際象棋網購買了所以不可用) - 一個匹配國際象棋用戶和使用XMPP控制游戲的網站。

以博客文章開頭:
http://metajack.im/2008/11/21/chesspark_design_details_part_1_why_xmpp/

如果您想要一個快速,輕量級的XMPP服務器,請嘗試使用Prosody 然而,其他答案是正確的,因為在將功能直接添加到服務器之前,您首先要查看PubSub ,然后編寫自己的組件

如果OpenFire(或其他XMPP服務器)支持pubsub,您應該能夠完成此任務。 不確定您的需求的細節,但我認為個人事件協議或其超集PubSub應該能夠處理您的用例。 OpenFire確實支持這兩種協議。

如果這些不支持您的用例,那么自定義插件很容易編寫。

至於重量級或輕量級,除非你有一些特別小的環境來運行服務器,我懷疑它會很重要。 您根本不會使用現有的許多功能。

我已經使用XMPP pubsub為客戶端相互通信操作,以便用戶可以獲得組中正在進行的同事的實時更新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM