我正在制作一款基于回合制的纸牌游戏,它将拥有客户端,大厅服务器和游戏服务器。哪些方法有跨语言和双向(例如客户端请求 - >服务器服务器响应 - >客户端,以及服务器请求 - >客户端客户端响应 - >服务器)?
我已经研究过JMS,但认为它对我的需求来说太重了(这个程序只是小规模的,我不认为复杂性使这个解决方案合适)。我简要介绍了REST,但我认为这不符合双向要求。当然,还有RMI,但我希望能够用C ++和其他语言开发客户端作为另一种学习练习。
如果我是诚实的,我有点失落,因为我不想使用JMS,因为我认为它太复杂了,但我不认为只使用TCP套接字并说使用基于XML的消息协议将为程序提供良好的通信结构。
答案 0 :(得分:2)
我做的一些研究实验室开发了一个名为“面向对象的分布式语义服务”的系统。
我们利用我们在跨语言序列化方面所做的一些工作,允许您使用不同语言编写客户端/服务器,并将基础消息作为客户端/服务器序列化和反序列化的格式,而不管其实现语言如何。
目前我们主要支持Java / ObjectiveC。您可以查看聊天室教程,该教程可以让您基本了解请求/响应的工作方式。
http://ecologylab.net/research/simplGuide/oodss/index.html
OODSS旨在很好地适用于游戏场景......该系统最初是为了支持我们实验室正在研究的一位研究人员而编写的。 OODSS上的原始论文从头开始讨论游戏的开发。这可能对您有用:http://ecologylab.net/technicalReports/oodss_TR_10_01.pdf
您可以应用类似的想法,允许使用不受支持的语言的多个客户端。 (您可能必须自己编写一些序列化/反序列化代码才能开始。)
祝你好运!希望有所帮助!