반응형
UNIX-LINUX C프로그램에서
/*** 입력값이 서비스인지 아니면 소켓포트값인지 확인하여 포트값을 리턴 ***/
#include <stdlib.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <inttypes.h>
int get_socket_port(char *port)
{
struct servent *sp;
sp = getservbyname(port, "tcp");
if (sp == NULL) {
return (atoi(port));
} else {
return (ntohs(sp->s_port));
}
}
(결과)
get_socket_port("ftp") : 21
get_socket_port("21") : 21
반응형