gpt4 book ai didi

javascript - AJAX 调用运行 C 代码的最佳实践?

转载 作者:太空宇宙 更新时间:2023-11-04 04:00:31 28 4
gpt4 key购买 nike

我有一个底层 C 应用程序驱动一些相当密集的硬件。我目前正在为设备设计一个网络界面,它的主要功能是向用户显示状态信息。所以每隔一秒左右,用相关信息(温度、帧率、yada yada ...)更新网页上的字段该设备运行 linux 并有 apache。当前设置:

  1. 来自 Web 状态页面的 Javascript 进行 AJAX 调用(来自 setInterval)
  2. PHP 文件运行,写入 FIFO
  3. C 应用程序读取 FIFO ,根据输入(可能是空白,意思是只给我统计数据)做一些工作,写回 FIFO
  4. PHP 文件读取自 FIFO , 解析, json_encode, echo
  5. Javascript 解析 JSON 并更新页面

这就是您的切入点...目标是消除 PHP 中间人。 AJAX 调用 C 程序的约定(假设存在)是什么?最佳实践?

选项(据我所知):

  • Sockets .让 C 程序监听特定端口 . Something similar here.
  • Node.js。我不熟悉这个,我从来没有用过它。但是我的短暂接触让我觉得这可能是一个很好的用途吗?据我了解......它是“服务器端的javascript”,但它实际上是C代码?这里只需要一些见解。
  • CGI . cgi 可以与不断运行的 C 程序一起工作吗?还是在调用时从头开始加载 C 程序?
  • HTML5 WebSockets

任何见解表示赞赏。当然,最好的答案很可能甚至没有在上面列出。这只是我在这方面的知识范围。谢谢!

最佳答案

我们使用 C 库 libwebsockets ( http://libwebsockets.org/ ) 在 JavaScript 和 C++ 应用程序之间进行通信。在我们的例子中,我们通过 websockets 向 C++ 后端发送 JSON 或从后端发送 JSON。

在您的情况下,您可以获取当前通过 Ajax 发送的相同数据,然后通过 websocket 将其发送到 C 程序。然后,C 程序可以生成与 PHP 程序生成的相同的 JSON,并将其再次通过 websocket 发送回 JavaScript。

关于javascript - AJAX 调用运行 C 代码的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12252921/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com