考虑以下情况:
基于Linux的系统运行C ++应用程序。系统需要用户名和密码,并且只能使用Web浏览器访问:
在Web服务器和C ++应用程序之间交换数据的最佳方法是什么?虚构的例子:
实现此配置数据交换的最常用方法是什么?使用* .xml文件作为某种界面?
答案 0 :(得分:3)
假设您有一个守护程序,您想要提供一个Web界面,并且您不想直接在其中嵌入Web服务器,或者将其嵌入Web服务器,那么您需要一个IPC机制。
Linux为此提供了大量原语,其中最常用的是套接字。 C ++程序将侦听套接字,等待来自Web服务器的连接。网络服务器将连接到套接字,发送请求,程序将响应。
Here是一个非常好的教程,用C编写,但适用于C ++。
通常不是直接使用原语,而是使用框架。谷歌快速搜索显示zeroMQ看起来合适。但是有很多选择。
答案 1 :(得分:2)
我同意evilruff的评论:最简单的方法可能是在您的应用程序中嵌入一个Web服务器。这其实很简单。您可以使用Wt或libonion。
如果您坚持使用单独的Apache网络服务器,请考虑旧的CGI方式,或者更好的方法,Fastcgi方法。
您可能还考虑让您的C ++应用程序将一些数据放入数据库(例如PostgresQL)并让另一个Web应用程序查询该数据库。我不确定这是解决问题的好方法。
一般来说,您似乎想要一些message passing或一些remote procedure call。有很多选择:MPI,ONC/RPC,JSON-RPC等等。