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://pwwzsj.com/article/ipghgj.html