socket_shutdown
关闭套接字以接收,发送或两者兼而有之
PHP 5.0.0 及以上版本
socket_shutdown 函数用于关闭一个 socket 连接的读写功能。可以选择性地关闭读或写操作,或者同时关闭读写操作。
bool socket_shutdown(resource $socket, int $how = 2)
成功时返回 true,失败时返回 false。
以下是一个使用 socket_shutdown 函数的示例:
<?php
// 创建一个 TCP socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "无法创建 socket: " . socket_strerror(socket_last_error()) . "\n";
} else {
echo "socket 创建成功\n";
}
<p>// 连接到服务器<br>
$address = '127.0.0.1';<br>
$port = 8080;<br>
if (socket_connect($socket, $address, $port) === false) {<br>
echo "无法连接到服务器: " . socket_strerror(socket_last_error($socket)) . "\n";<br>
} else {<br>
echo "连接成功\n";<br>
}</p>
<p>// 关闭写操作<br>
if (socket_shutdown($socket, 0)) {<br>
echo "写操作关闭成功\n";<br>
} else {<br>
echo "关闭写操作失败\n";<br>
}</p>
<p>// 关闭连接<br>
socket_close($socket);<br>
?><br>
在此示例中,首先使用 socket_create 函数创建一个 TCP socket,并使用 socket_connect 函数连接到指定的地址和端口。然后通过调用 socket_shutdown 函数关闭 socket 的写操作 (how 参数设为 0)。最后,使用 socket_close 函数关闭 socket 连接。