
stream_socket_recvfrom 함수의 두 번째 인자인 $address는 IP 주소와 포트 번호를 모두 포함하는 형식으로 사용해야 합니다. 예를 들어, '192.168.1.100:8080'과 같은 형식으로 사용할 수 있습니다.
$address를 사용하여 데이터를 수신할 때, 소켓의 데이터가 다른 IP 주소나 포트 번호로 전송되는 경우는 다음과 같이 처리할 수 있습니다.
1. $address를 사용하여 데이터를 수신할 때, 소켓의 데이터가 다른 IP 주소나 포트 번호로 전송되는 경우, stream_socket_recvfrom 함수는 데이터를 수신하지 못하고 FALSE를 반환합니다.
2. FALSE를 반환하는 경우, 소켓의 데이터가 다른 IP 주소나 포트 번호로 전송된 경우를 처리하기 위해, stream_socket_recvfrom 함수의 세 번째 인자인 $outgoing_ip와 $outgoing_port를 사용하여 데이터를 수신할 수 있습니다. 예를 들어, '0.0.0.0'과 ':0'과 같은 형식으로 사용할 수 있습니다.
예제 코드:
#hostingforum.kr
php
$sock = stream_socket_server('tcp://0.0.0.0:8080', $errno, $errstr);
if (!$sock) {
die("소켓 생성 실패: $errstr ($errno)n");
}
while (true) {
$address = '';
$data = stream_socket_recvfrom($sock, $data, 1024, 0, $address);
if ($data === false) {
break;
}
echo "수신된 데이터: $datan";
echo "수신된 주소: $addressn";
}
이 예제 코드에서는 stream_socket_recvfrom 함수의 두 번째 인자인 $address를 사용하여 데이터를 수신하고, 수신된 데이터와 주소를 출력합니다.
2025-07-22 22:56