牛牛在线工具

stream_set_blocking()

收录 8868 个 PHP 函数,含用途说明与用法示例。

stream_set_blocking()

设置给定流的阻塞或非阻塞模式

函数名:stream_set_blocking() 适用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7 用法:stream_set_blocking(resource $stream, bool $mode): bool 函数描述:stream_set_blocking()函数用于设置给定流的阻塞或非阻塞模式。 参数: $stream:要设置模式的流资源。 $mode:指定流的模式。如果$mode为true,则流将被设置为阻塞模式;如果$mode为false,则流将被设置为非阻塞模式。 返回值:成功时返回true,失败时返回false。 示例: // 创建一个网络套接字流 $socket = stream_socket_client('tcp://www.example.com:80', $errno, $errstr, 30); // 将套接字流设置为非阻塞模式 if (!stream_set_blocking($socket, false)) { die('无法设置套接字流为非阻塞模式'); } // 发送HTTP请求 fwrite($socket, "GET / HTTP/1.1\r\nHost: www.example.com\r\nConnection: Close\r\n\r\n"); // 读取响应 $response = ''; while (!feof($socket)) { $response .= fread($socket, 8192); } // 关闭套接字流 fclose($socket); echo $response; 上述示例中,我们首先创建了一个网络套接字流,然后使用stream_set_blocking()函数将套接字流设置为非阻塞模式。接下来,我们发送HTTP请求并读取响应。最后,关闭套接字流并输出响应内容。 通过将套接字流设置为非阻塞模式,我们可以在等待响应时继续执行其他操作,而不必等待服务器的响应。这对于处理大量并发请求或需要同时处理多个任务的情况非常有用。