Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 使用IdHTTP向PHP发送字节数组_Delphi_Indy_Idhttp - Fatal编程技术网

Delphi 使用IdHTTP向PHP发送字节数组

Delphi 使用IdHTTP向PHP发送字节数组,delphi,indy,idhttp,Delphi,Indy,Idhttp,我正在尝试使用IdHTTP组件构建一个简单的客户机-服务器-客户机应用程序。 如何使用IdHttp组件将字节数组从client1发送到www.example.com上的php文件,并让该php文件使用IdHttp发送与client2相同的数据?也许我走错了路。要将数据从client1发送到服务器,我建议使用Base64编码。这样,您就有了一个普通字符串,而不是字节数组。使用IdHTTP发送字符串很简单。另一种方法是多部分表单数据() 用于在client2上接收数据:HTTP客户端不知道服务器上何

我正在尝试使用IdHTTP组件构建一个简单的客户机-服务器-客户机应用程序。
如何使用IdHttp组件将字节数组从client1发送到www.example.com上的php文件,并让该php文件使用IdHttp发送与client2相同的数据?也许我走错了路。

要将数据从client1发送到服务器,我建议使用Base64编码。这样,您就有了一个普通字符串,而不是字节数组。使用IdHTTP发送字符串很简单。另一种方法是多部分表单数据()

用于在client2上接收数据:HTTP客户端不知道服务器上何时有数据。异步接收(服务器推送)是新WebSocket协议的一项功能,它是HTTP的扩展,因此需要在客户端和服务器端进行specifix扩展。Delphi的WebSocket协议有开源和商业实现


如果您的client2是一个普通HTTP客户机,那么它除了从服务器持续轮询数据之外别无选择。对于基本用例,我建议使用TIdTCPClient组件而不是TidHTTP,它可以让您更好地控制传入数据的处理。客户端jst需要在服务器的端口80上打开一个套接字连接,发送一个格式良好的HTTP请求,然后运行一个循环来接收响应。当服务器有新数据时,PHP脚本将开始发送数据(甚至可能没有HTTP响应头),然后发送Base64编码的数据。

什么是client2,另一个HTTP客户端?客户端2是一台本地计算机,使用IdHTTp从PHP接收“压缩”数据。谢谢,我在寻找一些制作穷人的teamviewer类型应用程序的指南。