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