728x90
반응형
UDP
추가기능이 없는 전송프로토콜.
세그먼트가 로스될 수도 있고, 세그먼트 순서가 뒤바뀔수도 있는 서비스이다.
TCP는 일대일이라서 여러 호스트가 연결하면 각 클라이언트와의 소켓이 필요하다.
UDP는 여러 클라이언트와 통신하기 위해 하나의 소켓만 있으면 된다.
UDP는 "Connectionless" 방식으로, 서버,클라이언트 모두 하나의 소켓만 이용하면 된다.
sendto()
#include <sys/socket.h>
ssize_t sendto(int sock, void *buff, size_t nbytes, int flags, struct sockaddr *to,socklen_t addrlen);
TCP에서는 socket을 열면서 IP,PORT가 설정되어 write시 따로 이를 설정할 필요가 없었는데, UDP는 accept를 거치지 않으므로 누구에게 보낼지 적어줘야한다. 위 코드에서 to 인자에 IP, PORT를 설정한다.
recvfrom()
#include <sys/socket.h>
ssize_t recvfrom(int sock, void * buff, soze_t nbytes, int flags, struct sockaddr *from, socklen_t addrlen);
여기서 *from은 운영체제가 채워준다.
728x90
반응형
'2023-1 > 컴퓨터네트워크및실습' 카테고리의 다른 글
Go-Back-N, Selective Repeat (0) | 2023.06.11 |
---|---|
Reliable Data Transfer(RDT) (0) | 2023.06.11 |
Transport Layer Basic (0) | 2023.06.11 |
htons / inet_addr (0) | 2023.03.31 |
DHCP (0) | 2023.03.23 |
댓글