我目前正在为大学编写一个游戏项目,我们正在使用 GWT 和 GWT EventService。
一开始,客户进入主大厅。一个 Listener 和一个 UnlistenListener 将被注册到服务器。UnlistenerListener 注册一个包含用户名的 UnlistenEvent。“用户加入”被触发。
在服务器端,我们有一个所有活动用户(“加入用户”)的列表。当用户关闭浏览器时,UnlistenEvent 将在 90 秒后触发。其他用户收到事件,但现在的问题是:我如何在服务器端处理这个超时?该事件将由 EventService 本身触发,并将被其他客户端接收,但我不知道如何捕捉这一时刻并在服务器端手动处理以将用户从“活动用户”列表中删除。当服务器检测到超时时,应触发诸如“用户离开”之类的事件。
活动用户列表保留在服务器端,所以我想要的只是有一个程序删除活动用户列表中的“超时”用户。
有人可以帮忙吗?