函式名稱:socket_getsockname()
適用版本:PHP 4 >= 4.1.0, PHP 5, PHP 7
函式說明:socket_getsockname()函式用於獲取一個套接字的本地協議地址。
語法:bool socket_getsockname ( resource $socket , string &$addr [, int &$port ] )
引數:
- $socket: 必需。一個有效的套接字資源。
- $addr: 必需。用於儲存本地協議地址的變數。透過引用傳遞,返回本地協議地址。
- $port: 可選。用於儲存本地埠號的變數。透過引用傳遞,返回本地埠號。
返回值:成功時返回true,失敗時返回false。
示例:
<?php
// 建立一個TCP套接字
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// 繫結套接字到本地地址和埠
socket_bind($socket, '127.0.0.1', 8080);
// 獲取本地地址和埠
if (socket_getsockname($socket, $addr, $port)) {
echo "本地協議地址:$addr\n";
echo "本地埠號:$port\n";
} else {
echo "獲取本地地址和埠失敗\n";
}
// 關閉套接字
socket_close($socket);
?>
輸出結果:
本地協議地址:127.0.0.1
本地埠號:8080
以上示例演示瞭如何使用socket_getsockname()函式獲取套接字的本地協議地址和埠號。首先,建立一個TCP套接字,並透過socket_bind()函式將其繫結到本地地址和埠。然後,使用socket_getsockname()函式獲取套接字的本地協議地址和埠號,並將其儲存在相應的變數中。最後,透過echo語句將本地協議地址和埠號輸出到螢幕上。
請注意,示例中的套接字建立、繫結和關閉操作僅用於演示socket_getsockname()函式的使用方法,實際使用時可能需要根據具體需求進行調整。