连接到xampp服务器上index.php的C程序

连接到xampp服务器上index.php的C程序,c,sockets,winsock2,socketserver,winsockets,C,Sockets,Winsock2,Socketserver,Winsockets,我希望设置一个C客户机,它可以与本地XAMPP服务器上运行的index.php文件通信 所有在线教程都基于创建C客户机和连接到C服务器。但是如何将C客户机连接到xampp服务器上的PHP文件呢 我是否需要在C客户端和index.php文件上使用php中的套接字打开套接字?或者我可以在C程序中打开一个套接字并将其指向localhost/index.php吗 C客户端将侦听来自托管index.php的服务器的HTTP消息。php文件将包含一个html表单,我可以在其中输入一个句子,然后C程序将该句子

我希望设置一个C客户机,它可以与本地XAMPP服务器上运行的index.php文件通信

所有在线教程都基于创建C客户机和连接到C服务器。但是如何将C客户机连接到xampp服务器上的PHP文件呢

我是否需要在C客户端和index.php文件上使用php中的套接字打开套接字?或者我可以在C程序中打开一个套接字并将其指向localhost/index.php吗

C客户端将侦听来自托管index.php的服务器的HTTP消息。php文件将包含一个html表单,我可以在其中输入一个句子,然后C程序将该句子打印到计算机终端

是否可以将C程序连接到服务器。然后使用index.php表单中的exec命令作为POST请求,并通过套接字将其发送到C程序

任何帮助或已知的文章都会很好


谢谢

您可能不会与PHP文件通信,而是与运行该PHP程序(如Apache)的某些Web服务器通信,这是某些HTTP请求的一部分。花几个小时或几天的时间阅读,你需要了解一些细节,了解HTTP、响应等等。。。。根据HTTP协议,您的C应用程序应该发出何种HTTP请求?。使用浏览器查看它发送的HTTP请求

然后,您需要使用一些C语言中的HTTP客户端库,如

还要注意,HTTP服务器库存在于C中,例如:;你可能不需要这个

也许对你有用,但可能不是

C客户端将侦听HTTP消息

如果C程序正在系统上使用某些或等效工具进行侦听,那么它不是客户机,而是服务器。如果是客户端,它将使用&-发出HTTP请求并处理相应的HTTP响应,您最好使用libcurl这样的库,因为在细节中HTTP非常复杂,它将处理低级别的细节,如连接、发送等。。。还有你家的缓冲

php文件将包含一个html表单


这通常意味着一些。细节取决于。它取决于您实际想要实现的目标,即“连接”c程序到index.php是什么意思

您应该意识到的第一件事是,我们在这里讨论的是两个过程:a是c程序,b是执行PHP脚本的任何解释器,可能是web服务器

您希望在两个进程之间交换数据,因此我们讨论进程间通信

在中,您会看到一个表列出了几种方法:

文件:PHP脚本可以写入文件,c程序可以从中读取,或者在Unix下,管道更适合

套接字:正如您已经提到的,其中一个程序可以通过套接字建立连接,并在此连接上交换数据

其他方法看看这张桌子 由于您的PHP脚本可能在web服务器中运行,因此套接字解决方案很有希望: web服务器已经侦听传入的连接,并提供了一个体面的数据交换协议:HTTP

我不会重复Basile的回答,只给出一个示例,说明如何使用CGI在c程序和PHP脚本与web服务器之间交换一些数据:

web服务器提供一个URL,该URL将调用PHP脚本,如http://test.me/test.php

现在,程序是:

C程序建立到套接字测试的TCP连接。me:80 c程序通过以

GET/test.php?a=31&b=19 http/1.1

服务器将调用index.php,为其提供键值对a=31,b=19

脚本将执行一些操作,并将某些内容打印到标准输出,如:

abc

这不是一个有效的HTTP响应,但通常足以检查该过程

web服务器将通过与c程序的连接发回php脚本abc的输出。 如您所见,在本例中,您转移了

a=31,b=19从c程序到web服务器/index.php 从web服务器/index.php到c程序的abc 一般来说,最佳解决方案取决于您想要实现的目标。我假设你的例子只是一个例子,你可以用我上面写的方法来解决它。但是,如果您真的只想将某些内容打印到控制台,只需将index.php写入文件/管道,然后c程序读取该文件

不管怎样,我觉得有很多东西需要你去探索

此外,我想澄清最后一件事: 为了简单起见,我使用了“c程序”,但我不需要是c程序,但您的问题涉及到任意进程,它也可能是python解释器运行的python脚本,或者…

连接什么
确切地说是什么?您的PHP服务器做什么?它与C客户机通信的是什么?如果您确实想使用套接字,那么只需打开套接字即可——客户端不必关心服务器使用的是什么语言,反之亦然,谢谢您的回复。目前,我正在寻找创建一个基本的c客户端,它将侦听来自php文件的消息,例如,我希望能够在html表单中输入一个句子,它将在运行c客户端的PC终端中打印结果。我对PHP很好。只是不确定从哪里开始C编程。不要评论你们的问题,但要编辑你们的问题来改进它。目前还不清楚,需要改进,例如,解释您在HTTP请求方面需要什么,以及您的C客户机应该做什么。提供更多的上下文和动机。您有权访问PHP源代码吗?你能改进一下吗?考虑设计一些独立于发出的HTML代码和HTML表单的方法。