为了账号安全,请及时绑定邮箱和手机立即绑定

php 异步处理的实现

php 异步处理的实现

PHP
饮歌长啸 2019-03-09 02:05:19
百度出来的,感觉使用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贡献1786条经验 获得超13个赞

fsockopensocket连接吧?和异步有关系吗?你的需求是啥

查看完整回答
反对 回复 2019-03-18
?
ibeautiful

TA贡献1993条经验 获得超5个赞

异步处理多半会用到消息队列,你这种就是一个socket连接,跟异步没多大关系

查看完整回答
反对 回复 2019-03-18
?
弑天下

TA贡献1818条经验 获得超8个赞

可以算是异步吧,和curl请求都是属于这种类型,异步非阻塞。

如果是消息队列 ,轻量级 推荐redis,读写速度都是非常快的, 如果数据量比较大,例如超过10k,redis入队列的速度就非常慢了。

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 389 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信