我正在用纯PHP制作基于文本的游戏(基于回合)。但是我有一个问题。假设我要与一个怪物战斗。当我进入第9轮并且快要死时,如果我决定关闭浏览器,就会出现问题。当我再次进入该网站时,我将再次进入主页,但我还没有死。我怎么知道用户是否关闭浏览器?我想在战斗中关闭浏览器时删除他/她的帐户。谢谢阅读。我不需要代码。我只需要一个解释清楚的建议即可。
答案 0 :(得分:0)
这可能有帮助。当用户开始与$ _SESSION [$ userid] = $ userid战斗时设置会话;如果健康状况发生变化,则更新数据库。说10个健康点从30下降到20,您将数据库更新为20,还剩下战斗时间(以秒为单位),例如60秒...如果用户关闭浏览器会话丢失,则可以检查。会话已存在,健康状况不到20秒,剩余时间超过30秒...希望有帮助
答案 1 :(得分:0)
如果这是游戏的组成部分,那么我建议您调查WebSocket
,并保持服务器的“心跳”。如果WebSocket
断开连接,即浏览器窗口关闭,则服务器可以删除/停用该帐户。
请注意,这也可能会导致客户端和服务器端的连接中断。如果用户连接断开,就好像浏览器已关闭,服务器断开连接一样,如果单独使用此方法,所有播放器都会有效地丢失其帐户。
然后,您可以结合使用Session
和WebSocket
来识别连接断开和浏览器关闭。