如下代码,但即使设置了 stream_socket_blocking($res , false)
也没用啊!
$stream = stream_socket_server('tcp://0.0.0.0:9160' , $errno , $errstr);
// 设置为非阻塞模式
stream_set_blocking($stream , false);
$client = stream_socket_accept($stream);
echo '实现 stream_socket_accept 非阻塞' . PHP_EOL;
怎么实现 stream_socket_accept
非阻塞??
同看到此问题。相关的资料是在太少了。
stream_set_blocking
应该是只影响读写相关函数,对stream_socket_accept
是不起作用的。比较好的处理方法应该还是用
stream_select
类似相关的IO多路复用函数通知,然后stream_socket_accept($stream,0);
第二个参数设置为0来读取,不加循环简单的示例类似: