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アドレスとポート番号が続きます。