
getservbyname 함수는 서비스 이름을 IP 주소로 변환하는 함수입니다.
getservbyname 함수에 서비스 이름을 전달하면, 서비스 이름이 존재할 경우 서비스의 IP 주소를 반환합니다.
만약 서비스 이름이 존재하지 않으면, NULL을 반환합니다.
다른 예외 상황으로는, 서비스 이름이 NULL일 경우 NULL을 반환하고, 서비스 이름이 너무 길면 에러를 반환합니다.
또한, 서비스 이름이 존재하지만, 서비스가 현재 동작하지 않는 경우, 서비스의 IP 주소를 반환하지 않습니다.
이러한 예외 상황을 처리하기 위해, 함수의 반환 값을 확인하고, 서비스의 존재 여부를 확인하는 코드를 작성하는 것이 좋습니다.
예를 들어, 다음 코드는 getservbyname 함수의 반환 값을 확인하여 서비스의 존재 여부를 판단합니다.
#hostingforum.kr
c
#include
#include
#include
#include
int main() {
struct servent *serv;
char *service_name = "ftp";
serv = getservbyname(service_name, "tcp");
if (serv != NULL) {
printf("서비스 이름: %s, IP 주소: %sn", service_name, serv->s_name);
} else {
printf("서비스 이름: %s, IP 주소: NULLn", service_name);
}
return 0;
}
2025-07-13 17:13