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으로 전달된 구조체 변수의 크기
'개인 공부 > 네트워크' 카테고리의 다른 글
[Chapter 06-3] UDP의 데이터 송수신 특성과 UDP에서의 connect 함수 호출 (0) | 2023.08.28 |
---|---|
[Chapter 06-1] UDP에 대한 이해 (0) | 2023.08.28 |
[Chapter 05-2] TCP의 이론적인 이야기 (0) | 2023.08.28 |
[Chapter 05-1] 에코 클라이언트의 구현 (0) | 2023.08.21 |
[Chapter 04-3] Iterative 기반의 서버, 클라이언트 (0) | 2023.08.07 |