远程服务器应该使用哪些Java技术?

4
我正在开发一个Web游戏,其中用户连接到Web服务器,但游戏逻辑由游戏服务器完成。当然还有数据库服务器。
Web服务器可以连接到游戏服务器并获取所需数据,然后将客户端重定向到它,然后客户端连接到游戏服务器以发送/获取所需数据。
此外,游戏服务器也可以从DB服务器获取数据。
问题在于,我在Web服务器上使用Java EE,并希望在游戏服务器上也使用Java。作为服务器软件,在游戏服务器上应该使用什么?另外,使用哪些Java技术应该实现游戏逻辑和服务器之间的通信?
与Web服务器相比,我可以使用Servlets、JPA等。但是,这样的应用程序由Tomcat服务器使用HTTP协议运行。我也可以在游戏服务器上使用HTTP服务器,但不确定它是否是处理Web服务器和客户端之间连接的正确解决方案。
编辑: 在游戏服务器上有一个处理游戏逻辑的进程,无论用户是否连接都会运行。游戏服务器与数据库交互。当用户连接时,游戏服务器应该使用恒定的连接向用户发送/接收与游戏相关的信息。 在JavaEE中,Servlets允许处理用户<->游戏服务器连接。 但是,如何实现游戏逻辑部分(即必须使用哪些Java EE技术),它独立于连接或未连接的用户在游戏服务器上运行。
编辑2: 游戏没有动画。但是,它是一款体育管理模拟游戏,具有实时发生的游戏模拟和玩家拍卖。游戏服务器应该处理游戏模拟和玩家拍卖,多个用户可以同时观看和影响(球员替换、策略更改或竞拍出价)。

你没有很好地解释你的场景。是什么样的游戏?问答游戏风格,具有常规UI(文本、字段、按钮)?动画?你将如何在客户端实现UI? - Basil Bourque
1个回答

0

您似乎在说您的最终用户由Servlet容器(如Tomcat/Jetty/等)中处理。如果是这样,在您的Servlet中,您可以随时使用Java的全部功能。Servlet可以打开网络连接(socketWebSocket、HTTP、WebServices SOAP/REST调用等)到远程游戏服务器。同样的Servlet也可以打开一个JDBC连接到数据库服务器。

游戏服务器可以使用Java构建,但不一定必须。它可以在任何平台上工作(如Ruby、.NET、Objective-C、Xojo等),只要它能够响应网络连接,如套接字或WebServices调用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接