PHP异步调用方法
2017-05-31 12:57
399 查看
客户端与服务器端是通过HTTP协议进行连接通讯,客户端发起请求,服务器端接收到请求后执行处理,并返回处理结果。
有时服务器需要执行很耗时的操作,这个操作的结果并不需要返回给客户端。但因为php是同步执行的,所以客户端需要等待服务处理完才可以进行下一步。
test-a.php
有时服务器需要执行很耗时的操作,这个操作的结果并不需要返回给客户端。但因为php是同步执行的,所以客户端需要等待服务处理完才可以进行下一步。
test-a.php
<?php header("Content-type:text/html;charset=utf-8"); $url = 'http://localhost/test/testb.php'; echo 'starttime:'.microtime().'<br />'; $param = array( 'time'=>time() ); doAsyncRequest($url, $param); echo 'endtime'.microtime(); function doAsyncRequest($url, $param=array()){ $urlinfo = parse_url($url); $host = $urlinfo['host']; $path = $urlinfo['path']; $query = isset($param)? http_build_query($param) : ''; $port = 80; $errno = 0; $errstr = ''; $timeout = 10; $fp = fsockopen($host, $port, $errno, $errstr, $timeout); $out = "POST ".$path." HTTP/1.1\r\n"; $out .= "host:".$host."\r\n"; $out .= "content-length:".strlen($query)."\r\n"; $out .= "content-type:application/x-www-form-urlencoded\r\n"; $out .= "connection:close\r\n\r\n"; $out .= $query; fputs($fp, $out); fclose($fp); } ?>testb.php
<?php header("Content-type:text/html;charset=utf-8"); sleep(15);//等待15秒 file_put_contents('filename.txt', $_POST); print_r($_POST); exit; ?>
相关文章推荐
- PHP实现异步调用方法研究与分享
- PHP实现异步调用方法研究
- PHP实现异步调用方法研究
- php fsockopen()方法,简化,异步非阻塞调用
- PHP实现异步调用方法研究
- PHP实现异步调用方法研究与分享
- PHP实现异步调用方法研究
- php如何进行多进程与异步调用方法
- PHP实现异步调用方法研究
- php实现异步数据调用的方法
- PHP实现异步调用方法研究
- PHP实现异步调用方法研究
- php异步调用方法实现示例
- 详解PHP实现异步调用的4种方法
- PHP实现异步调用方法研究[转]
- php 异步调用方法
- php 异步调用方法
- PHP实现异步调用方法研究
- PHP不等待返回异步调用的实现方法
- php 异步调用方法