Asynchronous 好的基于异步TCP的非实时游戏协议?

Asynchronous 好的基于异步TCP的非实时游戏协议?,asynchronous,networking,tcp,cross-platform,Asynchronous,Networking,Tcp,Cross Platform,我正在为非实时多人聊天/游戏系统开发开源跨平台平台平台。像纸牌游戏、棋盘游戏、回合制游戏等,服务器都是从服务器端生成的(不是从用户计算机中生成的)。客户端拥有这些游戏模块或下载游戏模块,然后运行它们 我得出的结论是,最好的协议是“类似IRC的”。这样就有了聊天和游戏的渠道 比如说有很多频道 大厅 大厅,英语 大厅,芬兰语 我的游戏-聊天一个特定的游戏 lobble.Mygame.English Game.Server.Announcements-创建新服务器时,服务器会在此处大声呼叫。所有的客

我正在为非实时多人聊天/游戏系统开发开源跨平台平台平台。像纸牌游戏、棋盘游戏、回合制游戏等,服务器都是从服务器端生成的(不是从用户计算机中生成的)。客户端拥有这些游戏模块或下载游戏模块,然后运行它们

我得出的结论是,最好的协议是“类似IRC的”。这样就有了聊天和游戏的渠道

比如说有很多频道

  • 大厅
  • 大厅,英语
  • 大厅,芬兰语
  • 我的游戏-聊天一个特定的游戏
  • lobble.Mygame.English
  • Game.Server.Announcements-创建新服务器时,服务器会在此处大声呼叫。所有的客户都在听这个。您可以获得所有正在运行的游戏服务器的列表
  • Game.3636534.chat-特殊游戏聊天
  • Game.3636534.Game-用户在此处发送BuyX等命令,服务器响应这些命令
一些我调查过的东西

  • XMLRPC不好,因为您必须每隔几秒钟轮询一次新数据
  • 冰-很好,但应该更友好一点
  • ActiveMQ/RabbitMQ及其发布者/使用者系统是我正在寻找的东西。问题是缺少良好的用户ACL。因此,基本上每个人都可以“去”任何地方,并将任何垃圾发送到主AMQ服务器

为此支持的编程语言至少应该是C#、Java和Python。加密支持也应该存在。当然是免费的。

您应该研究XMPP,它是异步消息传递的开放标准。它支持加密、防火墙穿越和其他许多功能。服务器和库可用于许多平台,包括您提到的平台

到实现和信息的链接: