【问题标题】:Good asynchronous TCP based protocol for non-realtime games?非实时游戏的基于异步 TCP 的良好协议?
【发布时间】:2010-10-10 10:19:52
【问题描述】:

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

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

比如有频道

  • 大堂
  • Lo​​bby.English
  • Lo​​bby.芬兰语
  • Lo​​bby.Mygame - 聊天特定游戏
  • Lo​​bby.Mygame.English
  • Game.Server.Announcements - 创建新服务器时,服务器会在此处大声喊叫。所有的客户都在听这个。您可以获取所有正在运行的游戏服务器的列表。
  • Game.3636534.chat - 特殊游戏聊天
  • Game.3636534.game - 用户在此处发送 Buy X 等命令,服务器会响应这些命令

我研究过的一些东西

  • XMLRPC 不好,因为您必须每隔几秒轮询一次新数据
  • ICE - 相当不错,但应该对 RPC 更友好一些
  • ActiveMQ/RabbitMQ 和它的发布者/消费者系统是我正在寻找的东西。问题是缺少良好的用户 ACL。所以基本上每个人都可以“去”任何地方,将任何垃圾发送到主 AMQ 服务器。

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

【问题讨论】:

    标签: asynchronous networking tcp cross-platform


    【解决方案1】:

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

    实现和信息的链接:http://xmpp.org/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-15
      • 2012-08-05
      • 2010-10-24
      • 1970-01-01
      相关资源
      最近更新 更多