我有两个应用程序-一个php web应用程序和一个c程序。php应用程序必须向返回结果的c程序发送数据。
c程序必须在一个周期内一直运行(while(true)),因为它必须在内存中保存以前输入的数据。
我通过使用文件(输入和输出文件)来处理C和PHP之间传递数据的问题。
如果我的web应用程序有变化,我的php脚本会更新一个文件,这个文件由我的c程序读取。输出被写入另一个文件。web应用程序一直在寻找更改。
我认为解决这样的问题不是最聪明的办法。很可能这是很多不必要的文件访问。
通过以下思路的启发和帮助,我认为使用一种C PHP服务器桥可以是一个很好的解决方案。
How to pass value and run c program in php( web application)
Passing data between PHP and C executable in linux
我从mongoose开始。MangOSE是一个非常轻量级的Web服务器。
我目前的想法是,我的web应用程序将通过post将数据直接发送到我的c程序。请求是由MangoSE Web服务器处理的。
这是路吗?或者将其分为两个应用程序是更好的解决方案
1)一个处理输入输出的Web服务器——两个程序之间的变量由共享内存传递
2)当前操作的C程序(通过共享内存输入/输出)
或者,这是完全错误的方式吗?A)我应该坚持我的文件解决方案B)还有更好的方法吗?
我很抱歉问了这么多问题,但我对C还很陌生,很挣扎,对这一切都没有信心。
编辑
我试着更具体地说明我的c程序是做什么的。基本上是个模拟。它就像一个stateflow,它有大约20-40个输入,这些输入都是整数,大多数时候只有0或1。程序根据输入和以前的状态运行。通过将输入文件更改为原始状态,在一次迭代后重置输入。
输出文件总是用相应的输出值(比如var=1var2=3)进行更新。
最佳答案
您可以使用DBMS进行数据共享。