English | 简体中文 | 繁體中文
查询

socket_set_blocking()函数—用法及示例

「 设置套接字的阻塞模式 」


函数:socket_set_blocking()

适用版本:PHP 4, PHP 5, PHP 7

用法:socket_set_blocking(resource $socket, bool $mode) : bool

说明:该函数用于设置套接字的阻塞模式。

参数:

  • $socket:套接字资源,通过socket_create()函数创建。
  • $mode:布尔值,指定阻塞模式。如果$mode为true,则套接字将被设置为阻塞模式;如果$mode为false,则套接字将被设置为非阻塞模式。

返回值:

  • 成功时,返回true。
  • 失败时,返回false。

示例:

// 创建套接字
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "套接字创建失败!";
    exit;
}

// 设置套接字为阻塞模式
if (socket_set_blocking($socket, true) === false) {
    echo "设置阻塞模式失败!";
    exit;
}

// 连接到服务器
$connect = socket_connect($socket, '127.0.0.1', 8080);
if ($connect === false) {
    echo "连接服务器失败!";
    exit;
}

// 发送数据
$message = "Hello, Server!";
if (socket_write($socket, $message, strlen($message)) === false) {
    echo "发送数据失败!";
    exit;
}

// 接收服务器响应
$response = socket_read($socket, 1024);
if ($response === false) {
    echo "接收数据失败!";
    exit;
}

// 关闭套接字
socket_close($socket);

// 输出服务器响应
echo "服务器响应:".$response;

以上示例展示了如何使用socket_set_blocking()函数将套接字设置为阻塞模式。首先,创建套接字并设置为阻塞模式。然后,通过socket_connect()函数连接到服务器。之后,使用socket_write()函数向服务器发送数据,并使用socket_read()函数接收服务器的响应。最后,使用socket_close()函数关闭套接字。

补充纠错
上一个函数: socket_set_nonblock()函数
下一个函数: socket_shutdown()函数
热门PHP函数
分享链接