我正在开发一个关于Java servlet技术的Web应用程序,其中客户端页面通过javascript轮询服务器,每2秒后对新数据的AJAX请求。 我面临的问题是服务器因为定期轮询多个并行客户端而变慢。
除非在服务器上触发任何其他请求以更新服务器上的数据,否则还有其他替代方法可以自动实现此功能。
我正在尝试使用javascript彗星但未获得正确的实施代码。
任何帮助都会很明显。
此致 ARS
答案 0 :(得分:1)
是的,Servlet 3.0将是满足您需求的良好解决方案。
它将在您的请求执行时释放您的线程 你可以在这里阅读更多信息。在下面的文章中:
http://www.javaworld.com/javaworld/jw-02-2009/jw-02-servlet3.html
此外,我建议您查看Atmosphere Framework和Netty framework
如果追逐快速的Comet实现,那些框架可以为您提供标准Servlet容器的替代品。
希望它有所帮助。
答案 1 :(得分:1)
显然你应该使用彗星方法。您可以尝试使用socket.io。这个协议有几个Java实现,如socketio-java和netty-socketio。与使用WebSockets相比,您将能够覆盖更多的浏览器。
答案 2 :(得分:0)
使用websockets将您的服务器与客户端连接。
答案 3 :(得分:0)
看起来是您启动websockets的绝佳机会。这是出于这样的目的。 WebSocket - Wikipedia
如果您希望使用其他语言对服务器应用程序进行编码,您可以轻松地使用该语言的websocket教程来帮助您