當前位置: 首頁> 函數類別大全> 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:關閉讀取
    • 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請求中,客戶端先發送請求,然後等待服務器響應。因此,我們首先關閉寫入連接以告知服務器請求已發送完畢,然後繼續讀取服務器的響應。

同類函數
熱門文章