函式名:socket_set_option()
函式描述:socket_set_option() 函式用於設定套接字選項。
適用版本:該函式在 PHP 4 >= 4.3.0, PHP 5, PHP 7 中可用。
語法:bool socket_set_option ( resource $socket , int $level , int $optname , mixed $optval )
引數:
- $socket:必需,套接字資源(socket resource)。
- $level:必需,選項級別,可以是 SOL_SOCKET 或其他協議特定的常量。
- $optname:必需,選項名稱,可以是 SO_BROADCAST、SO_KEEPALIVE、TCP_NODELAY 等常量。
- $optval:必需,選項值,可以是整數或布林值,具體取決於所設定的選項。
返回值:成功時返回 true,失敗時返回 false。
示例:
// 建立套接字
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// 設定套接字選項
if (socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1) === false) {
echo "設定套接字選項失敗: " . socket_strerror(socket_last_error()) . "\n";
// 處理錯誤情況
} else {
echo "套接字選項設定成功\n";
// 繼續其他操作
}
// 關閉套接字
socket_close($socket);
在上面的示例中,首先使用 socket_create() 函式建立了一個 TCP 套接字。然後使用 socket_set_option() 函式設定了 SO_REUSEADDR 選項,該選項表示允許地址重用。如果設定選項成功,則會輸出 "套接字選項設定成功",否則會輸出相應的錯誤資訊。
請注意,示例中的引數值只是示意,實際應用中需要根據具體需求進行調整。