函式名稱: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地址和埠號僅供參考,實際使用時需要根據具體情況進行修改。