【发布时间】:2011-02-15 16:31:26
【问题描述】:
我有兴趣在我的联网设备中添加一个基于 HTML/web 浏览器的“日志窗口”。具体来说,我的设备有一个定制的网络服务器和一个事件日志,我希望能够让一个网络浏览器窗口打开,例如http://my.devices.ip.address/system_log 并让事件在发生时在 Web 浏览器窗口中显示为文本。然后,人们可以使用它作为一种快速的方法来监控系统正在做什么,而无需运行任何特殊的软件。
我的问题是,实现这一点的最佳方法是什么?我已经尝试了显而易见的方法——只要让我设备的嵌入式 Web 服务器无限期地保持 HTTP/TCP 连接打开,并在事件发生时将必要的文本写入 TCP 套接字——但问题在于大多数 Web 浏览器(例如 Safari)在服务器关闭之前不显示网页 TCP 连接已关闭,因此结果是日志数据永远不会出现在 Web 浏览器中,它就像页面一直在等待加载。
有什么诀窍可以使这项工作发挥作用吗?我可以将它实现为 Java 小程序,但我更喜欢更轻量/更简单的东西,要么只使用 HTML,要么可能使用 HTML+JavaScript。另外我想避免让网络浏览器“轮询”服务器,因为这会引入过多的延迟(如果重新加载延迟很大)或给系统增加负载(如果延迟很小)
【问题讨论】:
标签: javascript html http logging