php - 如何在 PHP 和 C++ 之间建立通信?

标签 php c++ apache sockets

我有一个关于标题问题的问题。因此,我正在尝试创建一个程序,该程序在 C++ 程序和运行 Apache Web 服务器的 PHP 站点之间传递数据/数据请求。

我一直在研究套接字通信,但我不理解这个概念。我了解如何在 PHP 中创建一个套接字,在 C++ 中创建另一个套接字,并且我让它们使用测试应用程序运行。但只是单独地,不互相交谈或与我的网络服务器交谈(PHP 目前不在服务器上,它在不同的服务器上)。那么这是如何工作的呢?据我了解,您需要一个监听端口号,另一个向该命令发送内容。

理想情况下,我宁愿不使用任何库来帮助我实现这一目标。我知道这个问题之前已经被问过很多次了,但我仍然一无所获。

有人可以提供上述工作原理的解释,或链接到此处/其他地方可能有帮助的问题吗?或者是否有比使用套接字更好的方法?他们会经常互相交谈,速度可能是个问题。

编辑,进一步解释:

网络服务器:我正在运行一个 Apache 网络服务器。 PHP 脚本位于此服务器上。

C++ 位置:在测试时,我的 C++ 应用程序存储在运行 Web 服务器的同一个 Raspberry Pi 上。在实际应用程序中,我的 C++ 应用程序仍将存储在同一设备上(但它不会是 Raspberry Pi - 虽然仍然基于 Linux)。

通信:需要触发 PHP 脚本才能由 C++ 脚本执行操作,反之亦然。他们都需要以每种方式传递数据(通用数据结构,但它们可能相当大)(因此两者都需要能够发送和接收数据)。

最佳答案

我认为最简单的方法是:

1) PHP -> C++: TCP

2) C++ -> PHP: http

将尝试解释。

1) 要从 C++ 应用程序获取某些内容,PHP 使用 stream_socket_client 连接到该应用程序功能。 C++ 应用正在使用 socketbindlisten 函数监听主机和端口。一旦连接到达 C++ 应用程序 接受 它然后在一个单独的 std::thread 服务它(recv 获取请求,发送发送响应)。 How to socket .

2) 由于 PHP 在 Apache Web 服务器下运行,我认为最简单的方法是使用 libcurl 库从 C++ 应用程序发出 HTTP 请求。 How to curl .

关于php - 如何在 PHP 和 C++ 之间建立通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33401895/

相关文章:

c++ - Linux 分配器不会释放小块内存

c++ - 具有跨多个 DLL/DSO 的静态成员的模板类

C++语法,简单算术函数变量结果未声明?

php - undefined index HTTP_HOST 即使它被选中

ruby-on-rails - 在rails公共(public)目录中安装wordpress

javascript - 将变量从 PHP 函数传递到 JS

php - 使用 openssl_encrypt 代替 Mcrypt 进行 3DES-ECB 加密

php - 使用 get_posts() 返回随机帖子;在 Wordpress 中

javascript - 动态表单到数据库

apache - 根据请求 uri 使用 .htaccess 强制视频/webm mime 类型