
stream_socket_get_name 함수는 소켓 이름을 가져올 때 오류가 발생하는 경우 null 값을 반환합니다.
이러한 오류는 소켓이 연결된 상태가 아니거나, 소켓이 아직 연결되지 않은 상태일 때 발생합니다.
stream_socket_get_name 함수를 사용하여 소켓 이름을 가져올 수 있는 방법은 다음과 같습니다.
1. 소켓이 연결된 상태일 때 사용합니다. 예를 들어, 클라이언트가 서버에 연결된 상태일 때 사용할 수 있습니다.
#hostingforum.kr
php
$socket = stream_socket_server('tcp://0.0.0.0:8080', $errno, $errstr);
if (!$socket) {
echo "Error: $errstr ($errno)n";
exit;
}
$client_socket = stream_socket_accept($socket);
$peername = stream_socket_get_name($client_socket, true);
echo $peername;
2. 소켓이 연결되지 않은 상태일 때 사용할 수 있는 다른 방법은, stream_socket_get_name 함수에 두 번째 인자로 false를 전달하는 것입니다. 이 경우 소켓 이름이 null이 아닌 연결된 소켓의 이름을 반환합니다.
#hostingforum.kr
php
$socket = stream_socket_server('tcp://0.0.0.0:8080', $errno, $errstr);
if (!$socket) {
echo "Error: $errstr ($errno)n";
exit;
}
$peername = stream_socket_get_name($socket, false);
echo $peername;
이러한 방법을 사용하여 stream_socket_get_name 함수를 사용하여 소켓 이름을 가져올 수 있습니다.
2025-08-09 01:52