函式名稱:socket_get_option()
適用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7
函式描述:socket_get_option() 函式用於獲取套接字選項的值。
語法:mixed socket_get_option ( resource $socket , int $level , int $optname )
引數:
- $socket:套接字資源,透過 socket_create() 或 socket_accept() 函式建立。
- $level:選項的級別,可以是 SOL_SOCKET 或其它特定協議的級別。
- $optname:選項名稱,可以是 SO_REUSEADDR、SO_RCVBUF 等常量。
返回值:
- 如果成功,返回選項的值。
- 如果失敗,返回 FALSE。
示例:
// 建立套接字
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
echo "socket_create() failed: " . socket_strerror(socket_last_error()) . "\n";
exit;
}
// 設定套接字選項
socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1);
// 獲取套接字選項的值
$reuse = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR);
if ($reuse === false) {
echo "socket_get_option() failed: " . socket_strerror(socket_last_error()) . "\n";
exit;
}
echo "SO_REUSEADDR option value: " . $reuse . "\n";
// 關閉套接字
socket_close($socket);
以上示例中,我們首先建立了一個套接字,然後使用 socket_set_option() 函式設定了 SO_REUSEADDR 選項的值為 1。最後,使用 socket_get_option() 函式獲取 SO_REUSEADDR 選項的值,並輸出到控制檯。請注意,示例中的錯誤處理是基本的,實際應用中應根據需要進行適當的錯誤處理。