4

我正在开发一个网络游戏,用户连接到网络服务器,但游戏逻辑是由游戏服务器完成的。当然还有数据库服务器。

Web 服务器可以连接到游戏服务器并获取所需的数据,然后将客户端重定向到它,然后客户端连接到游戏服务器以发送/获取所需的数据。

游戏服务器也可以从数据库服务器获取数据。

问题是我在 Web 服务器上使用 Java EE,并且我想在游戏服务器上也使用 Java。我应该在游戏服务器上使用什么作为服务器软件?另外,我应该使用什么Java技术来实现游戏逻辑和服务器之间的通信?

与 Web 服务器相比,我可以使用 Servlet、JPA 等。但是,此类应用程序是由 Tomcat 服务器使用 HTTP 协议运行的。我也可以在游戏服务器上使用 HTTP 服务器,但不确定它是否是处理 Web 服务器之间和客户端之间连接的正确解决方案。

编辑: 在游戏服务器上有一个处理游戏逻辑的进程,独立于用户是否连接。游戏服务器与数据库交互。当用户连接时,游戏服务器应该使用恒定连接向用户发送/接收与游戏相关的信息。javaEE 中的 Servlet 允许处理用户 <-> 游戏服务器连接。但是,我如何实现游戏逻辑部分(即必须使用哪些 Java EE 技术),它在游戏服务器上运行,与是否连接用户无关。

EDIT2: 游戏没有动画。然而,它是一个体育管理模拟,具有游戏模拟和球员拍卖实时发生。游戏服务器应处理游戏模拟和玩家拍卖,多个用户可以同时观看和影响(玩家替换、策略更改或拍卖出价)。

4

1 回答 1

0

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

游戏服务器可以用 Java 构建,但不一定。它所依赖的大多数平台(Ruby、.NET、Objective-C、Xojo等)都应该能够响应网络连接,例如套接字或 WebServices 调用。

于 2013-08-02T04:47:59.603 回答