当前位置: 首页> 函数类别大全> stream_socket_shutdown

stream_socket_shutdown

关闭全双工连接
名称:stream_socket_shutdown
分类:Stream
所属语言:php
一句话介绍:关闭全双工连接

stream_socket_shutdown 函数

适用 PHP 版本:PHP 4.3.0 及以上

函数说明

stream_socket_shutdown 用于关闭一个已打开的流套接字连接。该函数可以关闭连接的读写操作,或者完全关闭连接,具体取决于提供的参数。

函数语法

stream_socket_shutdown(resource $socket, int $how): bool

参数

  • $socket (resource): 要关闭的流套接字资源。
  • $how (int): 一个常量,指示如何关闭连接。可以取以下值:
    • STREAM_SHUT_RD:关闭读取操作。
    • STREAM_SHUT_WR:关闭写入操作。
    • STREAM_SHUT_RDWR:关闭读取和写入操作。

返回值

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

示例

以下是一个关闭已打开流套接字连接的示例:

  $socket = stream_socket_client("tcp://www.example.com:80", $errno, $errstr);
  if ($socket) {
      // 发送一些数据
      fwrite($socket, "GET / HTTP/1.1\r\nHost: www.example.com\r\n\r\n");
      // 关闭写操作
      stream_socket_shutdown($socket, STREAM_SHUT_WR);
      // 读取响应数据
      while ($response = fgets($socket)) {
          echo $response;
      }
      // 关闭读写操作
      stream_socket_shutdown($socket, STREAM_SHUT_RDWR);
      fclose($socket);
  }
  

示例代码说明

首先,我们通过 stream_socket_client 打开一个到服务器的连接。接着使用 fwrite 向服务器发送一个 HTTP 请求。之后,使用 stream_socket_shutdown 关闭写入操作(STREAM_SHUT_WR),防止再向服务器写入数据。接下来,使用 fgets 读取服务器响应,最后使用 stream_socket_shutdown 关闭读写操作(STREAM_SHUT_RDWR),并通过 fclose 关闭套接字连接。

同类函数
热门文章