我将编写一个用于学习/练习目的的客户端/服务器卡片游戏,并打算开始使用Java作为客户端和服务器。将来我将继续使用这个项目进行学习,因此希望用其他语言编写其他语言,例如C和C ++。
我不确定的主要细节是我是否需要将MOM与消息代理一起使用,或者我是否可以在不使用消息代理的情况下离开。
我最初的想法是,我可以处理双方发送/接收消息的失败,如果尝试次数达到最大值,则会尝试重新发送导致游戏结束的消息。
然而,我不仅仅是拥有游戏客户端和游戏服务器,而是考虑拥有客户端,大厅服务器和游戏服务器。这样我就需要消息代理将正确的消息路由到正确的服务器,但是我不确定是否除此之外我是否需要消息代理,因为我不确定我是否真的需要任何设施消息持续性。
我倾向于与消息经纪人一起去寻找MOM,但如果我这样做不必要,我会欢迎更轻量级的解决方案。那就是说,如果我做了一个合适的跨语言MOM呢?我之前已经看过很多关于SO的建议,但我不确定什么能最好地满足我的需求。
答案 0 :(得分:1)
对于跨语言MOM - 我建议你使用Apache ActiveMQ。它符合JMS规范,并且还具有强大的C ++客户端库。它是开源的(Apache许可证)
是的,您可以探索的另一个轻量级选项是HTTP。 ESP。为客户端服务器通信。 (因为客户端可能需要跨越防火墙等连接到服务器 - HTTP端口最容易访问等)。
对于大厅服务器 - 游戏服务器通信 - 我喜欢你对MOM的看法。