UDP 특징
- 신뢰할 수 없음 : UDP 는 메세지를 보내고 잊어 버린다.
- 정돈 되지 않음 : UDP는 일련번호가 없다. 2개 이상의 패킷이 전달되면 정돈 할 수 없다.
- 가벼움 : 신뢰성을 포기한 대신 가볍게 움직일 수 있다.
소켓 생성
socket(AF_INET, SOCK_DGRAM, 0);
데이터 쓰기
#include <sys/type.h>
#include <sys/socket.h>
int sendto(int sockfd, const void *msg, size_t len, int flags,
const struct sockaddr *to, socklen_t tolen);
-sockfd : 소켓 함수로 생성한 소켓 지정번호
-msg : 전송할 데이터
-len : 전송할 데이터의 크기
-flags : 데이터 전송방식, 일반적으로 0을 사용한다.
-to : 보낼 인터넷 주소와 포트 번호를 포함하는 sockaddr 구조체
-tolen : 인터넷 주소 구조체 sockaddr의 크기
데이터 읽기
#include <sys/types.h>
#include <sys/socket.h>
int recvfrom(int sockfd, void *buf, size_t len, int flags,
const struct sockaddr *from, socklen_t fromlen);
-sockfd : 소켓 지정 번호
-buf : 읽은 데이터를 저장할 변수
-len : 읽을 데이터의 크기
-flags : 데이터 전송 방식, 일반적으로 0을 사용한다.
-from : 데이터를 보낸 인터넷 주소와 포트 번호를 포함
-fromlen : sockaddr 구조체의 크기
소스코드는 내 깃허브에서 다운 받을 수 있다.
깃허브 방문하기
댓글 없음:
댓글 쓰기