【问题标题】:Most suitable message-oriented middleware for cross-language client/server card game?最适合跨语言客户端/服务器纸牌游戏的面向消息的中间件?
【发布时间】:2024-04-27 11:15:02
【问题描述】:

我将编写一个客户端/服务器纸牌游戏用于学习/练习目的,并打算一开始就将 Java 用于客户端和服务器。将来我会继续使用这个项目来学习,因此会想用 C 和 C++ 等其他语言编写更多的客户端。

我不确定的主要细节是我是否需要使用带有消息代理的 MOM,或者我是否可以不使用 MOM。

我最初的想法是我可以处理双方发送/接收消息的失败,如果尝试次数达到最大值,则会提示尝试重新发送消息导致游戏结束。

但是,我不只是拥有游戏客户端和游戏服务器,而是考虑拥有客户端、大厅服务器和游戏服务器。这样我需要消息代理将正确的消息路由到正确的服务器,但是我不确定除此之外是否需要消息代理,因为我不确定我是否真的需要任何设施消息持久性。

我倾向于使用消息代理的 MOM,但如果我不必要地这样做,我会欢迎更多的轻量级解决方案。也就是说,如果我做了什么是合适的跨语言 MOM 使用?我之前看过很多关于 SO 的建议,但我不确定什么最能满足我的需求。

【问题讨论】:

    标签: client-server middleware messagebroker mom


    【解决方案1】:

    对于跨语言 MOM - 我建议您使用 Apache ActiveMQ。它符合 JMS 规范,并且还具有强大的 C++ 客户端库。它是开源的(Apache 许可证)

    是的,您可以探索的另一个轻量级选项是 HTTP。尤其是用于客户端到服务器的通信。 (由于客户端可能需要跨防火墙等连接到服务器 - HTTP 端口最容易访问等)。

    对于大厅服务器 - 游戏服务器通信 - 我喜欢你对 MOM 的想法。

    【讨论】:

    • 我需要发送异步消息的能力,这不应该排除客户端到服务器的 HTTP 吗?我打算为所有人使用 MOM。
    最近更新 更多