我是Java新手。我试图在MVC的行上写一些东西,我的web服务器有一个java方法,每20毫秒一次读取一行文本文件,我想每20毫秒发送一次(/推送)这个值到客户端(即在从CSV读取新行的同一时刻。 我看过这个http://en.wikipedia.org/wiki/Comet_%28programming%29 但对这一切都很陌生,这一点无法理解。推/拉/流如何工作以及在这里使用什么。如果我应该在这里拉或推值。我想我应该推送服务器将被每20ms这么多拉请求阻塞。 请建议。任何一段代码都将是一个很大的帮助。
答案 0 :(得分:1)
您无法将数据从Web服务器推送到客户端/浏览器,因为客户端计算机防火墙将阻止您尝试使用计算机进行的任何类型的连接。浏览器总是需要从服务器中提取它。
你可以通过使用来自Javascript / Ajax
的长期HTTP连接使用反向ajax来实现这一点请参阅以下链接以获取示例
http://today.java.net/pub/a/today/2007/03/22/developing-applications-using-reverse-ajax.html
答案 1 :(得分:1)
推送似乎是最好的答案,尽管你可能会遇到一些问题,让一切都能在20ms的往返中完成,而不会落后,除非这一切都能在本地网络上运行。
当前新兴的推送技术似乎是HTML5 WebSockets。 如果您可以确保使用支持它的最新Web浏览器,我建议您继续使用它。
Here是构建简单WebSocket应用程序的一个示例。