Current Location: Home> Latest Articles>

gitbox 2025-06-17

socket_set_nonblock 函数

适用PHP版本

该函数适用于 PHP 5.0.0 及以上版本。

函数说明

socket_set_nonblock 函数用于设置一个已经打开的 socket 句柄为非阻塞模式。非阻塞模式下的 socket 操作会立即返回,操作不会阻塞进程,这对于实现异步 IO 操作非常有用。

函数语法

bool socket_set_nonblock(resource $socket);

参数

  • $socket:必需。一个通过 socket_create() 创建的 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 连接。