php----stream_select函数用法
来源:互联网 发布:什么叫国内数据流量 编辑:程序博客网 时间:2024/05/21 16:59
http://blog.csdn.net/tongnianhani/article/details/73695314在这篇文章中我们已经简单介绍了stream_socket_pair函 数的简单用法,如果你还不熟悉他的用法,可以点击进去先看下这个函数的用法,因为我们接下来要介绍的stream_select函数的用法时会用到这个函数;
简单说stream_select 函数就是返回参数$read,$write已经可读或者可写状态的的数量,如果基本可读也不可写则超时时间过后就会返回0,从文档介绍中可以看到
int stream_select ( array
&$read
,array &$write
,array &$except
, int $tv_sec
[, int $tv_usec
= 0 ] ) 前三个参数都是引用,所以如果不可读则$read返回的是空数组,$write也是同理,举例说明<?php$sockets = stream_socket_pair ( STREAM_PF_UNIX , STREAM_SOCK_STREAM , STREAM_IPPROTO_IP );$pid = pcntl_fork ();$timeout = 2;if ( $pid == - 1 ) {die( 'could not fork' );} else if ( $pid ) {/* parent */fclose ( $sockets [ 0 ]);fwrite ( $sockets [ 1 ], "child PID: $pid \n" );fwrite ( $sockets [ 0 ], "message from child\n" );$str = stream_select($sockets,$w=null,$e=null,$timeout);var_dump($str);var_dump($sockets);echo 'main-'.fgets ( $sockets [ 1 ]);//echo 'child-'.fgets ( $sockets [ 0 ]);fclose ( $sockets [ 1 ]);} else {/* child */fclose ( $sockets [ 1 ]);fwrite ( $sockets [ 0 ], "message from child\n" );echo 'child-'.fgets ( $sockets [ 0 ]);$str = stream_select($sockets,$w=null,$e=null,$timeout);var_dump($str);var_dump($sockets);fclose ( $sockets [ 0 ]);}
上面的例子返回的结果为:
child-child PID: 2510
int(1)
array(1) {
[1] =>
resource(5) of type (stream)
}
main-message from child
int(1)
array(1) {
[0] =>
resource(4) of type (stream)
}
如果没有可读内容,则返回空数组,代码如下
<?php$sockets = stream_socket_pair ( STREAM_PF_UNIX , STREAM_SOCK_STREAM , STREAM_IPPROTO_IP );$pid = pcntl_fork ();$timeout = 2;$str = stream_select($sockets,$w=null,$e=null,$timeout);var_dump($str);var_dump($sockets);
输出结果:
int(0)
array(0) {
}
阅读全文
0 0
- php----stream_select函数用法
- php fsockopen 与 stream_select
- php fsockopen 与 stream_select
- php 并发获取信息--stream_select
- php中stream_select的使用实习
- php socket通信中stream_select方法的理解
- PHP--str_pad()函数用法
- php eval函数用法
- php dir函数用法
- php eval函数用法
- php curl_init函数用法
- php curl_init函数用法
- php curl_init函数用法
- php curl_init函数用法
- php curl_init函数用法
- php curl_init函数用法
- php curl_init函数用法
- php curl_init函数用法
- 完全理解 Python 迭代对象、迭代器、生成器
- 如何不花一分钱在百度科技园过三天
- 100-Same Tree
- 1001.会议安排
- css3中transition的五种效果
- php----stream_select函数用法
- Android数据库GreenDAO3.2.2的使用(一,集成数据库)
- 102-Binary Tree Level Order Traversal
- 大泥球的成长之路
- _tprintf打印中文问题
- OBS窗口捕获黑屏的解决办法
- 103-Binary Tree Zigzag Level Order Traversal
- CSS清除浮动使父级元素展开
- 108-Convert Sorted Array to Binary Search Tree