2012-03-25 72 views
0

我正在做一個回合制的紙牌遊戲,將有客戶,大堂服務器和遊戲服務器。哪些方法是跨語言和雙向的(例如,客戶端請求 - >服務器響應 - >客戶端,以及服務器請求 - >客戶端客戶端響應 - >服務器)?跨語言雙向客戶端 - 服務器通信方法?

我已經看過JMS,但認爲它對於我的需求來說太重量級了(這個程序只是小規模,我不認爲複雜性使得這個解決方案適合)。我簡要介紹了REST,但我認爲這不符合雙向要求。當然,還有RMI,但我希望能夠用C++和其他語言開發客戶端作爲另一種學習練習。

如果我是誠實的,我有點損失,因爲我不想使用JMS,因爲我認爲它太複雜了,但我不認爲只是使用TCP套接字,並說使用一個基於XML的消息協議將爲程序提供一個良好的通信結構。

回答

2

我做了一些工作的研究實驗室開發了一個名爲「面向對象的分佈式語義服務」的系統。

我們利用一些我們通過跨語言序列化完成的工作,允許您使用不同的語言編寫客戶端/服務器,並且底層的消息是客戶端/服務器序列化和反序列化的格式,而不管其實現語言。

現在我們主要支持Java/ObjectiveC。你可以看一下聊天室教程,它應該給你一個關於請求/響應如何工作的基本概念。

http://ecologylab.net/research/simplGuide/oodss/index.html

OODSS設計帶來良好的遊戲場景...系統最初寫來支持遊戲在我們的實驗室研究人員之一正在研究工作。原始OODSS論文從頭開始討論遊戲的發展。這可能適合你:http://ecologylab.net/technicalReports/oodss_TR_10_01.pdf

你可以應用一個類似的想法,以允許多語言不支持的客戶端。 (您可能需要自己編寫一些序列化/反序列化代碼,才能開始。)

祝您好運!希望有所幫助!