現在の位置: ホーム> 関数カテゴリ一覧> stream_socket_shutdown

stream_socket_shutdown

完全な二重接続を閉じます
名前:stream_socket_shutdown
カテゴリ:ストリーム
対応言語:php
一言説明: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:close close read
    • stream_shut_wr:書き込みを閉じます
    • stream_shut_rdwr:オフにすると同時に読み書き

返品値:成功の真のリターン、および失敗に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リクエストで、クライアントが最初にリクエストを送信し、次にサーバーが応答するのを待つためです。したがって、最初に書き込み接続を閉じて、リクエストが送信されたことをサーバーに通知し、サーバーの応答を読み続けます。

類似の関数
人気記事(にんききじ)