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