牛牛在线工具

stream_socket_shutdown()

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

stream_socket_shutdown()

关闭用 stream_socket_client() 或 stream_socket_server() 创建的套接字连接

函数名称:stream_socket_shutdown() 函数描述:stream_socket_shutdown() 函数关闭用 stream_socket_client() 或 stream_socket_server() 创建的套接字连接。 适用版本:PHP 4 >= 4.0.7, PHP 5, PHP 7 语法:bool stream_socket_shutdown(resource $stream, int $how) 参数: $stream:必需,一个有效的套接字资源,通常使用 stream_socket_client() 或 stream_socket_server() 创建。 $how:必需,一个整数,用于指定关闭连接的方式。可选值有: STREAM_SHUT_RD:关闭读取 STREAM_SHUT_WR:关闭写入 STREAM_SHUT_RDWR:同时关闭读取和写入 返回值:成功时返回 true,失败时返回 false。 示例: // 创建套接字连接 $socket = stream_socket_client('tcp://www.example.com:80', $errno, $errstr, 30); // 发送HTTP请求 $request = "GET / HTTP/1.1\r\n"; $request .= "Host: www.example.com\r\n"; $request .= "Connection: close\r\n\r\n"; fwrite($socket, $request); // 关闭写入连接,继续读取服务器响应 stream_socket_shutdown($socket, STREAM_SHUT_WR); // 读取服务器响应 $response = ''; while (!feof($socket)) { $response .= fgets($socket); } // 关闭读取连接 stream_socket_shutdown($socket, STREAM_SHUT_RD); // 关闭套接字连接 fclose($socket); 上述示例演示了如何使用 stream_socket_shutdown() 函数在发送HTTP请求后关闭写入连接,并继续读取服务器的响应。首先,使用 stream_socket_client() 函数创建套接字连接,然后发送HTTP请求并关闭写入连接。接着,使用 fgets() 函数循环读取服务器响应,直到结束。最后,关闭读取连接并关闭套接字连接。 请注意,示例中的关闭连接顺序是先关闭写入连接,再关闭读取连接。这是因为在HTTP请求中,客户端先发送请求,然后等待服务器响应。因此,我们首先关闭写入连接以告知服务器请求已发送完毕,然后继续读取服务器的响应。