컴퓨터 사이언스/Network

소켓 인터페이스를 위해 도움을 주는 함수들

kimjingyu 2023. 11. 19. 13:23
728x90

getaddrinfo()와 소켓 인터페이스를 더욱 편리하게 사용할 수 있는 소켓 인터페이스를 위한 도움 함수들을 소개하는 이번 절의 목적이다.

 

open_clientfd

클라이언트가 서버와 연결을 설정하는 함수로 클라이언트의 getaddrinfo부터 connect까지 담당한다.

 

#include "csapp.h"

int open_clientfd(char *hostname, char *port);

서버의 호스트 이름(또는 IP주소)와 원하는 서비스(포트 번호)를 입력하여 해당 서버의 소켓 주소 구조체의 형식과 맞는 클라이언트의 소켓을 만들고 연결한다.

  • char *hostname : 내가 연결하고 싶은 서버 호스트의 IP 주소
  • char *port : 해당 서버 프로세스의 서비스 종류. 즉, 포트 번호
  • 리턴 값 : 입력과 출력 준비가 된 열린 클라이언트의 소켓 식별자

 

open_listenfd

서버에서 연결 요청을 들을 준비가 된 듣기 식별자를 반환한다. 즉, getaddrinfo(), socket(), bind(), listen()까지 해준다.

#include "csapp.h"

int open_listenfd(char *port);
  • char *port : 해당 서버 프로세스의 서비스 종류. 즉, 포트 번호
  • 리턴 값 : 클라이언트의 연결 요청을 받을 준비가 된 서버의 듣기 식별자
728x90