百度出来的,感觉使用fsockopen来实现异步还不错,没有实际运用于生成环境,不知道有没有坑?另外还有什么其他好的解决方案呢?
<?php
$url = 'http://www.example.com/doRequest.php';
$param = array(
'name'=>'fdipzone',
'gender'=>'male',
'age'=>30
);
doRequest($url, $param);
function doRequest($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);
}
?>
4 回答
弑天下
TA贡献1818条经验 获得超8个赞
可以算是异步吧,和curl请求都是属于这种类型,异步非阻塞。
如果是消息队列 ,轻量级 推荐redis,读写速度都是非常快的, 如果数据量比较大,例如超过10k,redis入队列的速度就非常慢了。
- 4 回答
- 0 关注
- 389 浏览
添加回答
举报
0/150
提交
取消