
socket_bind 함수의 첫 번째 인자로 주소를 지정할 때는 IPv4 주소 형식으로 'AF_INET'을 사용하고, IPv6 주소 형식으로 'AF_INET6'을 사용합니다.
예를 들어, IPv4 주소인 127.0.0.1을 지정하려면 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
struct sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(1234);
inet_pton(AF_INET, "127.0.0.1", &addr.sin_addr);
IPv6 주소인 ::1을 지정하려면 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
struct sockaddr_in6 addr;
addr.sin6_family = AF_INET6;
addr.sin6_port = htons(1234);
inet_pton(AF_INET6, "::1", &addr.sin6_addr);
주소 형식이 잘못된 경우에는 'bind' 함수 호출 시 'EBADF' 오류가 발생합니다. 'EBADF' 오류는 'bind' 함수에 잘못된 소켓을 전달한 경우에 발생하는 오류입니다.
또한, 주소가 이미 사용 중인 경우에는 'EADDRINUSE' 오류가 발생합니다. 'EADDRINUSE' 오류는 'bind' 함수에 이미 사용 중인 주소를 전달한 경우에 발생하는 오류입니다.
이러한 오류를 처리하기 위해 try-catch 블록을 사용하거나, 오류 코드를 확인하여 적절한 조치를 취할 수 있습니다.
2025-03-23 14:03