我有一个用Java编写的多人游戏服务器应用程序,当他们通过套接字加入多人游戏时连接到玩家客户端。服务器应用程序(在JVM中运行的JAR)正在侦听来自客户端的传入连接的端口(例如9999)。
我想添加一个网站来监控整个项目,其中包含从正在运行的游戏服务器中获取的信息。一种方法是从站点(例如PHP套接字)打开套接字到游戏服务器(Java),并实现从服务器获取数据的自定义协议。但是这种方法非常耗时,因为我需要为我希望传递给监控网站的每种类型的数据添加支持。
我在想是否有办法用Java编写网站,只需通过直接链接与我的游戏服务器进行通信。 RMI将是我假设的解决方案,因为我的JAR和我的WAR都可以通过它进行通信,但是在同一个JAR文件中是否有更好的方法来构建Web应用程序和gameserver应用程序?那么当我的游戏服务器运行时,Web应用程序也会运行吗?
答案 0 :(得分:0)
这对我来说是拥有管理控制台的最快方式。只需将您的服务器转换为战争应用程序,其中包含您的游戏服务器以及用于客户端和管理页面的打开套接字。要启动服务器,只需将其放入tomcat。
一种更简洁的方法,不需要一些自行创建的协议,就是让您的服务器对您想要管理的所有关键对象使用mbeans。但这需要一些编码。
干杯,斯文
答案 1 :(得分:0)
您的游戏服务器中应该有一个嵌入式Web服务器。试试Jetty(http://jetty.codehaus.org/jetty/)。在任何java应用程序中嵌入都非常容易。