반응형

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


 

반응형
Posted by 공간사랑
,