我正在尝试制作基于客户端/服务器的游戏。我希望这是一个2人游戏。我将使用Java applet作为客户端,以便人们可以通过浏览器在线播放。
到目前为止我所知道的是,我可以创建一个接受所有传入连接的服务器,并创建一个线程来处理连接的客户端。我也可以编写将连接到服务器的客户端。我不知道的是如何让两个独立的客户互相交流。
小程序无法相互通信,因此必须通过服务器/线程进行通信(我假设)。
我不是Java的新手,但我之前从未做过任何网络。有人可以帮助我吗?
答案 0 :(得分:3)
在我看来,接近像这样的回合制游戏的最佳策略是决定一些基本的架构方法。绘制出组件和一些基本的游戏流程图。
您应该将大部分游戏引擎逻辑放在服务器组件中。客户应尽可能保持薄,主要关注
您的服务器/游戏引擎应该是相对无状态的,但仍保留当前正在进行的游戏会话列表。有状态的SOAP Web服务甚至HTTP Servlet都是一个不错的选择,因为它们通过在请求中放置和读取会话cookie来为您维护会话。
所有Web都可以处理请求响应,因此它本质上是无状态的,但某些技术(如Java servlet)将帮助您维护会话,以便您不必这样做。不需要物理创建单独的线程,每个请求都会导致应用程序服务器生成一个新的执行线程,而会话本质上是不稳定的。
在服务器端,我会在会话中保留特定活动游戏的所有数据。通过这种方式,您的游戏引擎将保持两个玩家之间的有序沟通。
答案 1 :(得分:0)
您只需将服务器用作中间人。