查詢

socket_shutdown()函式—用法及示例

「 關閉一個已經開啟的socket連線 」


函式名稱:socket_shutdown()

函式描述:socket_shutdown()函式用於關閉一個已經開啟的socket連線。

適用版本:該函式在PHP 4.1.0及以上版本可用。

語法:bool socket_shutdown ( resource $socket [, int $how = 2 ] )

引數:

  • $socket:必需,一個有效的socket資源,表示要關閉的socket連線。
  • $how:可選,指定關閉連線的方式。預設為2,表示關閉讀和寫。可選值有如下三個:
    • 0:關閉讀。
    • 1:關閉寫。
    • 2:關閉讀和寫。

返回值:如果關閉成功,則返回true。如果發生錯誤,則返回false。

示例:

// 建立一個TCP socket連線
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

// 連線到遠端伺服器
$connect = socket_connect($socket, '127.0.0.1', 8080);
if (!$connect) {
    echo "連線失敗:" . socket_strerror(socket_last_error()) . "\n";
    exit;
}

// 向伺服器傳送資料
$data = "Hello, server!";
socket_write($socket, $data, strlen($data));

// 關閉寫入通道,仍然可以接收資料
socket_shutdown($socket, 1);

// 從伺服器接收資料
$response = socket_read($socket, 1024);
echo "伺服器響應:$response\n";

// 關閉socket連線
socket_close($socket);

上述示例中,首先建立了一個TCP socket連線,並連線到遠端伺服器。然後向伺服器傳送資料,並關閉寫入通道,但仍然可以接收資料。最後從伺服器接收資料,輸出伺服器的響應,並關閉socket連線。

請注意,示例中的IP地址和埠號僅供參考,實際使用時需要根據具體情況進行修改。

補充糾錯
上一個函式: socket_set_blocking()函式
下一個函式: socket_set_block()函式
熱門PHP函式
分享連結