UDP에서 서버와 클라이언트는 연결되어 있지 않음

  • UDP 서버, 클라이언트는 TCP와 같이 연결된 상태로 데이터를 송수신하지 않음
    →연결 설정 과정이 필요치 않음
  • 하나의 소켓으로 둘 이상의 호스트와 통신이 가능

 

UDP 기반의 데이터 입출력 함수

  • TCP와 달리 데이터를 전송할 때마다 목적지의 주소정보를 추가해야함

 

sendto

ssize_t sendto(int sock, void *buff, size_t nbytes, int flags,
			   struct sockaddr *to, socklen_t addrlen);
// 성공 시 전송된 바이트 수, 실패 시 -1 리턴
  • to: 목적지 주소정보를 담은 구조체 변수
  • addrlen: 매개변수 to로 전달된 주소 값의 구조체 변수 크기

 

recvfrom

ssize_t recvfrom(int sock, void *buff, size_t nbytes, int flags,
                 struct sockaddr *from, socklen_t *addrlen);
// 성공 시 수신한 바이트 수, 실패 시 -1 리턴
  • from: 발신지 주소정보를 담은 구조체 변수
  • addr: from으로 전달된 구조체 변수의 크기

 

+ Recent posts