2009-05-04 77 views
0

我正在使用tomcat作为web服务器和java swing应用程序的应用程序。作为唯一通过web服务与客户端进行通信的客户端。Tomcat更新事件

我被困在一种情况,我需要服务器以某种方式通知客户端某种更新的事件发生在服务器端。像反向ajax或类似的东西。

任何想法...

阿卜杜勒·哈利克

回答

0

最常见的方法将是您的客户端轮询服务器。这意味着定期向服务器发出要求新事件的请求。这会在事件的出现和它向客户的通知之间引入延迟。

另一种方法是从客户端发出HTTP请求并将其保持打开状态,直到出现事件。这种方式通知在事件发生后立即到达。当事件被报告时,您发出另一个请求。这种方法的缺点是,它大大限制了服务器随时可以服务的客户端数量。 Tomcat线程的默认值为150.对于每个http请求,您都需要一个线程,因此不能有超过150个打开的请求。

+0

请注意,新的tomcat具有注释支持,它应该更有效地处理长轮询,而不浪费线程。 – 2009-05-04 10:37:07