GWT事件服务浏览器同步问题

时间:2011-05-04 08:18:47

标签: gwt

我已经使用gwt和gwt事件服务1.1.1实现了非常简单的应用程序,它将一些信息发送到服务器并等待特定事件返回。

在一个浏览器窗口中打开应用程序时,它可以正常工作。

在一台计算机上的两个浏览器窗口(相同的浏览器和相同的地址:localhost:port / app或ip:port / app)中打开它时,我的应用程序只有一个实例接收事件(UI仅反映了一个窗口)。

当它在两个不同的浏览器中打开,但具有相同的地址(例如,两者都是localhost:port / app)时,两个浏览器都会收到事件。

当它在同一个浏览器的两个窗口中打开,但是有不同的地址(一个是localhost:port / app,第二个是ip:port / app),那么它也会收到事件。

那么,有人可以对这种行为作出任何解释吗?如果有这种问题的某种解决方法。

提前致谢, 亚历克斯。

1 个答案:

答案 0 :(得分:4)

您在服务器上使用gwt event service,对吗?

他们声称“只有一个开放的连接用于事件监听”。因此,他们主动检查一个客户端只有一个连接用于发送事件。他们可能会使用网络会话来实现这一目标。

由于您在两个选项卡中的相同浏览中打开相同的URL,因此这两个选项卡共享同一会话。没有其他办法了。关于此问题有很多问题:https://stackoverflow.com/search?q=browser+tabs+session

<强>更新

似乎gwt-event-service可以配置为支持多个会话:使用SessionExtendedConnectionIdGenerator

更新2:

使用如下配置文件:http://code.google.com/p/gwteventservice/source/browse/trunk/conf/eventservice.properties?r=265