
stream_socket_get_name 함수는 소켓의 호스트 이름을 반환하는 이유는, 소켓이 연결되면 호스트 이름이 소켓의 이름으로 매핑되기 때문입니다.
소켓의 실제 IP 주소를 가져올 수 있는 방법은 다음과 같습니다.
1. getaddrinfo 함수를 사용하여 호스트 이름을 IP 주소로 변환할 수 있습니다. 예를 들어, getaddrinfo 함수를 사용하여 'example.com' 호스트 이름을 IP 주소로 변환할 수 있습니다.
#hostingforum.kr
php
$hostname = 'example.com';
$ip_address = '';
$addrinfo = getaddrinfo($hostname);
foreach ($addrinfo as $family) {
$ip_address = $family['ip'];
break;
}
2. gethostbyname 함수를 사용하여 호스트 이름을 IP 주소로 변환할 수 있습니다. 예를 들어, gethostbyname 함수를 사용하여 'example.com' 호스트 이름을 IP 주소로 변환할 수 있습니다.
#hostingforum.kr
php
$hostname = 'example.com';
$ip_address = gethostbyname($hostname);
3. stream_socket_get_name 함수를 사용하여 소켓의 이름을 가져오고, 그 이름을 IP 주소로 변환할 수 있습니다. 예를 들어, stream_socket_get_name 함수를 사용하여 소켓의 이름을 가져오고, 그 이름을 IP 주소로 변환할 수 있습니다.
#hostingforum.kr
php
$socket = stream_socket_client('tcp://example.com:80');
$ip_address = stream_socket_get_name($socket, false);
$ip_address = gethostbyname($ip_address);
2025-04-23 13:34