stream_socket_get_name
獲取本地或者遠程的套接字名稱
函數:stream_socket_get_name()
適用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7
用法:string stream_socket_get_name ( resource $handle , bool $want_peer )
參數:
返回值:返回指定套接字的名稱,如果失敗則返回false。
示例:
// 创建一个TCP 套接字连接到example.com 的80 端口$socket = stream_socket_client("tcp://example.com:80", $errno, $errstr, 30); if ($socket) { // 获取本地套接字名称$localName = stream_socket_get_name($socket, false); echo "本地套接字名称: " . $localName . PHP_EOL; // 获取对方套接字名称$peerName = stream_socket_get_name($socket, true); echo "对方套接字名称: " . $peerName . PHP_EOL; // 关闭套接字连接fclose($socket); } else { echo "连接失败: " . $errstr . " (" . $errno . ")"; }
輸出:
本地套接字名称: tcp://192.168.1.100:12345对方套接字名称: tcp://93.184.216.34:80
上述示例演示瞭如何使用stream_socket_get_name() 函數獲取本地套接字名稱和對方套接字名稱。首先,我們使用stream_socket_client() 函數創建了一個TCP 套接字連接到example.com 的80 端口。然後,我們分別使用stream_socket_get_name() 函數獲取了本地套接字名稱和對方套接字名稱。最後,我們關閉了套接字連接。
請注意,本地套接字名稱是以"tcp://" 開頭的字符串,後面跟著IP 地址和端口號。對方套接字名稱也是以"tcp://" 開頭的字符串,後面跟著對方的IP 地址和端口號。