我有 C++ 应用程序来监控本地计算机和一个 HTML5 网页(离线支持)来显示统计信息。目前我的应用程序通过服务器将数据发送到网页,但它只适用于在线。现在我想支持全离线模式,所以我需要将数据直接推送到网页以触发 javascript 事件。这可能吗?这可能在跨平台上实现吗?
2 回答
If the C++ application and HTML5 webpage are on the same machine it might be worth adding the server onto the same PC as well. mongoose is an easy to use, lightweight server that you could embed into your C++ application and serve content straight to the browser without having to go online.
如果您使用的是 Windows,您可以创建一个将由您的网页加载的 ActiveX。ActiveX 对象存在于 Windows 世界中,并且更容易从 Windows 应用程序进行通信。
许多用户也会在网页询问时避免安装 ActiveX,但由于您已经在安装应用程序,因此您也可以自己安装 ActiveX。
您也可以使用 Java 小程序来实现这一点,但我不是 Java 程序员,所以我不能肯定地说。
编辑:
根据您的编辑,您可以尝试以下操作:鉴于报告 HTML 文件是本地的,您可以让您的 C++ 应用程序创建一个包含所需报告值的 HTML 文件,并在有需要报告的内容时将其存储在报告 HTML 文件附近。在主 HTML 页面中,运行一个循环,将值文件加载到 iframe 左右,并在加载时从中提取值并在主报告页面中使用它们。这样你是在轮询而不是被推送,但结果是一样的,而且它是独立于平台的。