2009-02-27 50 views
2

我正在爲非實時多人聊天/遊戲系統開發開源跨平臺平臺。像紙牌遊戲,桌面遊戲,回合制等。服務器產生於服務器端(不是來自用戶計算機)。客戶端有這些遊戲模塊或下載遊戲模塊,然後運行它們。針對非實時遊戲的良好異步TCP協議?

我得出結論,最好的協議是「類似IRC」的。這樣就有了聊天和遊戲的渠道。

例如有渠道

  • 大堂
  • Lobby.English
  • Lobby.Finnish
  • Lobby.Mygame - 聊了一個特定的遊戲
  • Lobby.Mygame.English
  • Game.Server.Announcements - 當新的服務器被創建時,服務器在這裏大聲呼喊。所有的客戶都在聽這個。您可以獲取所有運行的遊戲服務器的列表。
  • Game.3636534.chat - Spesific遊戲中的聊天
  • Game.3636534.game - 用戶發送命令,如購買X在這裏和服務器響應請求的

一些東西,我已經研究過

  • XMLRPC是沒有好,因爲你必須輪詢新的數據每隔幾秒鐘
  • ICE - 不錯,但應該是一個有點RPC友好
  • 的ActiveMQ/RabbitMQ的和它的發佈者/消費者系統是我正在尋找的東西。問題是良好的用戶ACL缺失。所以基本上每個人都可以到處「去」並向主AMQ服務器發送垃圾。

支持的編程語言應該至少是C#,Java和Python。加密支持應該也在那裏。當然免費。

回答

2

您應該看看XMPP是異步消息傳遞的開放標準。它支持加密,防火牆遍歷等等。服務器和庫可用於許多平臺,包括您提到的平臺。

實現和信息的鏈接:http://xmpp.org/