我是网络新手,目前正在通过java socket进行多人游戏。所以我想问一个简单的问题。游戏将是这样的:
瓷砖为3x3
如果所有玩家已加入服务器,则游戏将启动
我的问题是:
我如何为每个玩家转弯计时器?我想要的是如果玩家没有点击/闲置一段时间,转弯将被投掷到下一个玩家。我需要在我的服务器或客户端管理它吗?以及如何?
如何处理断开连接的播放器?如果玩家断开连接我希望转弯将自动转给下一位玩家。
答案 0 :(得分:0)
理论上,客户端和服务器都可以处理计时器。如果服务器执行此操作,则在转向玩家X后启动计时器,并且在计时器用完后,它会停止玩家X的转向。如果您在客户端执行此操作,客户端可以在接收后启动计时器转弯,然后如果用户没有提供输入,则向服务器发送特定响应。
现在有什么更好的?当然是服务器解决方案。如果您的客户端断开连接,服务器将继续等待您的客户端的回复,这可能甚至不再回来。所以你最好在服务器端这样做。
答案 1 :(得分:0)
由于客户端断开连接可能导致此类超时,因此您很可能需要在服务器上实现它。例如,您可以通过创建计时器来执行此操作,例如, here。一旦计时器线程结束,就可以向客户端发送一条消息,该消息在时间内没有响应。这样做时,您应该考虑到客户端无法访问,当然