2011-11-04 108 views
1

在我们的项目中,我们的服务器必须尽快知道客户端是否断开连接。如何识别GWT中断开连接的客户端?

有没有一种有效的方法来实现这个?也许与GWTEventService或强大的框架?

+0

你在说什么“客户”? –

+0

@BrianRoach我谈论一个浏览器。服务器如何识别,如果browsertab关闭(没有从用户注销),我想实现聊天。如果选项卡关闭,则服务器必须从聊天列表中删除用户会话。我知道轮询,但它非常丑陋..(所以客户端发送例如每30秒一个“保持活着”的服务器) –

+1

我建议看看http://code.google.com/p/gwt - 彗星/ - 彗星几乎是实施你所谈论的事实标准 –

回答

2

您有几种选择:

  • 您可以检查出彗星。彗星是为这种行为而设计的,您希望在没有客户端明确请求的情况下将数据推送到客户端。查看关于Comet的Wikipedia's article以获取更多信息。这里有一个GWT实现:gwt-comet

  • 替代品:您可以使用类似Spring Framework的东西来保持您的客户标签。您也可以实施心跳式方法,在这种方式下,您强制客户端每隔X秒击中给定页面,以便知道它们仍处于连接状态。

老实说,有无数的方法来做你在这里找的东西。如果你不介意实施整个框架,我会说彗星会是你最好的选择。

+0

谢谢你,我试验了一点彗星。但对于这个项目中的其他功能,我使用GWTEventService ...所以我有这个问题来决定(彗星或GWTEventService) –

相关问题