自动更新网页内容
Auto-updating Webpage content
我正在研究一个系统,它有一堆传感器与linux机器通信。我需要为此制作一个web界面,以显示传感器的状态,并在任何传感器的状态发生变化时自动更新它们(或每隔几秒钟自动更新它们)。
读取传感器的代码都是C代码。将传感器数据自动推送到web浏览器或甚至通过不断请求数据的选项是什么?
我考虑了以下方案:在C程序中为传感器数据分配共享内存,这些数据可以由服务器端脚本(如php)读取。然后在循环或计时器事件上请求一些ajax或其他东西。
是否有可能将数据推到客户端而不是拉?
我真的没有任何php/ajax的经验,所以任何关于如何实现它的提示将是伟大的。
一些我不知道的关键元素:
-如何在javascript中做计时
-如何从请求到服务器(例如php页面读取传感器数据)在javascript中获得某种结构化数据
正如您所说,要获取数据,您有两种解决方案:
A)使用ajax提取数据
使用setInterval:
可以轻松地执行一些周期性任务setInterval(callbackserver, PERIOD_MILLIS);
如果你使用像jquery这样的框架,有很多插件可以定期更新。
B)使用js服务器推送数据
数据可以推送到浏览器,而不是拉取。为此,您需要一个基于协议(如Comet)的服务器。查看此项目了解更多信息
如何在javascript中从请求到服务器的动态中获取某种结构化数据
json似乎是跨语言结构化数据的完美解决方案。
我考虑了以下方案用于传感器数据的C程序,可由服务器端读取脚本如php
为什么不简单地在C中创建一个daemon,然后通过PHP使用exec("mydeamon -data")
命令从它获取数据呢?例如
- 一般不能使用HTTP推送数据。您必须轮询服务器。(如果你感兴趣的话,还有其他选择。见彗星)
- 可以使用Ajax动态地向服务器发送请求。有关详细信息,请参阅本教程。这很简单。
- 您必须定期发送此Ajax。您可以使用
setInterval
。
setTimeout("yourAjaxRequestFunction",延迟);
在你的情况下,如果你/你的公司负担得起,我建议你使用Wt。
如果你的应用程序是用C编写的,那么c++可能比PHP或Javascript更熟悉。它还可以使用ajax pull或web sockets将数据推送到网页。
- Ajax是定期提取数据的好选择。它完全是客户端,非常容易上手。在网上查一些例子。
- 对于服务器端,您需要从C中获取数据。在C和PHP之间共享内存将是乏味的。你可以简单地用c语言创建或更新一个文本文件,并将该文件放在web服务器(也许是apache)的主文件夹
- javascript skrollr基于动态内容更新窗口高度
- 如何在没有文本区域或文本字段的浏览器中编辑网页内容
- 通过javascript在同一个打开的选项卡中重新加载新的网页内容
- 如何使用Perl访问JavaScript驱动的网页内容
- 网页异步更新的方式有哪些
- 重新调整网页内容的大小
- JavaScript内容更新
- 无需ajax即可实时更改网页内容
- Javascript:事件处理/内容更新/提交
- 如何使用jquery使用另一个html文件的内容更新页面分区
- 将我的内容更新为 XML 文件
- 仅在内容更新时自动刷新网页
- AngularJS - 网页未更新
- AngularJS:这是编写处理模型/内容更新的指令的正确方法吗?
- 如何使用 JQuery 和 Ajax 使用另一个 ComboBox 的内容更新 HTML 文件中 ComboBox 的内
- 如何根据用户在文本框中键入的内容更新标签文本
- 将网页内容调整在固定大小的 iframe 上
- 使用什么技术可以在不刷新网页的情况下更新网页内容?
- Facebook喜欢和分享按钮javascript更新我的网页内容,如重新加载页面
- 自动更新网页内容