该函数适用于 PHP 5.0.0 及以上版本。
socket_set_nonblock 函数用于设置一个已经打开的 socket 句柄为非阻塞模式。非阻塞模式下的 socket 操作会立即返回,操作不会阻塞进程,这对于实现异步 IO 操作非常有用。
bool socket_set_nonblock(resource $socket);
成功时返回 true,失败时返回 false。
下面是一个使用 socket_set_nonblock 函数的简单示例:
<?php // 创建一个 TCP socket $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); <p>// 设置 socket 为非阻塞模式<br> if (socket_set_nonblock($socket)) {<br> echo "Socket 已设置为非阻塞模式\n";<br> } else {<br> echo "无法设置 socket 为非阻塞模式\n";<br> }</p> <p>// 关闭 socket<br> socket_close($socket);<br> ?><br>
首先,使用 socket_create 函数创建一个 TCP socket。接着,使用 socket_set_nonblock 函数将该 socket 设置为非阻塞模式。如果成功,输出 "Socket 已设置为非阻塞模式"。如果失败,输出 "无法设置 socket 为非阻塞模式"。最后,关闭 socket 连接。
Related Tags:
mysqli