【发布时间】:2013-11-16 17:30:44
【问题描述】:
目前我正在为大学编写一个游戏项目,我们正在使用 GWT 和 GWT EventService。
一开始,客户进入主大厅。一个 Listener 和一个 UnlistenListener 将被注册到服务器。 UnlistenerListener 注册一个包含用户名的 UnlistenEvent。 “用户加入”被触发。
在服务器端,我们有一个所有活跃用户(“加入用户”)的列表。当用户关闭浏览器时,UnlistenEvent 将在 90 秒后触发。其他用户收到事件,但现在的问题是:我如何在服务器端处理这个超时?该事件将由 EventService 本身触发,并将被其他客户端接收,但我不知道如何捕捉这一时刻并在服务器端手动处理以将用户从“活动用户”列表中删除。当服务器检测到超时时,应触发诸如“用户离开”之类的事件。
活动用户列表保留在服务器端,所以我想要的只是有一个删除活动用户列表中“超时”用户的过程。
有人可以帮忙吗?
【问题讨论】:
-
GWT 事件仅适用于客户端。要通知服务器,您必须使用“超时”的用户对象进行 RPC 调用。在您的代码中的某处,您必须附加一个进行 RPC 调用的
UnlistenEventHandler。
标签: java events gwt timeout gwt-eventservice