programming/C_C++
UNIX 서비스에 의해 PORT값 리턴하는 함수
공간사랑
2010. 4. 13. 18:32
반응형
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
반응형