网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

PHP实现非阻塞批量推送数据的方法

PHP是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。

成都创新互联公司是一家专注于成都做网站、成都网站制作与策划设计,郧西网站建设哪家好?成都创新互联公司做网站,专注于网站建设十余年,网设计领域的专业建站公司;建站业务涵盖:郧西等地区。郧西做网站价格咨询:028-86922220

今天看到论坛里面有人问PHP实现非阻塞批量推送数据的方法,这里大概总结下。

1、最简单的办法:

一个脚本同时跑多次,用参数来跑指定范围。假如要推送10000用户,可以每100个用户运行一个脚本(脚本逻辑就是循环遍历100个用户,串行的发送数据,代码略),并且多个(100)脚本同时运行。

类似:

php task.php 1 100 &
php task.php 101 200 &
php task.php 201 300 &
........

当然这个方法不是非阻塞的,但是可以批量操作,大大加快处理速度。

2、麻烦点的:如果想要非阻塞并且是HTTP协议的话

可以用下面的代码

3、非阻塞,并且不是HTTP协议的话,需要使用php的socket + stream_select

0)
{
    $read = $sockets;
    $write = $e = array();
    // 等待数据可读
    if(stream_select($read, $write, $e, 10))
    {
        // 循环读数据
        foreach($read as $socket)
        {
           // 这里是服务端返回的数据,需要的话可以循环读
           echo fread($socket, 8192);
           // 数据读取完毕关闭链接,并删除链接
           fclose($socket);
           unset($sockets[(int)$socket]);
        }
    }
}

以上就是PHP实现非阻塞批量推送数据的方法的详细内容,更多请关注创新互联其它相关文章!


当前名称:PHP实现非阻塞批量推送数据的方法
本文路径:http://bjjierui.cn/article/ipghgj.html

其他资讯