본문 바로가기

Etc/TCP/IP

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

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

#include <sys/types.h>
#include <sys/socket.h>

int sendto(int sock, const void *msg, int len, unsigned flags, const struct sockaddr *addr, int addrlen);

sock    : 데이터를 전송할 때 사용할 소켓의 파일 디스크립터를 인자로 넘겨준다.
msg     : 전송하고자 하는 데이터를 저장해 놓은 버퍼를 가리키는 포인터
len     : msg포인터가 가리키는 위치에서부터 몇 바이트로 전송할 것인지 그 크기를 인자로 넘겨준다.
flags : 옵션을 설정하는데 필요한 인자 일반적으론 0
addr    : sockadr구조체에
addrlen : addr포인터가 가르키고 있는 구조체 변수의 크기를 인자로 넘겨준다.

int recvfrom(int sock, void *buf, int len, unsigned flags, struct sockaddr *addr, int *addrlen);

sock    : 데이터를 수신할 때 사용할 소켓의 파일 디스크립터를 인자로 전달한다.
buf        : 수신할 데이터를 저장할 버퍼를 가르킨다.
len     : 수신할 수 있는 최대 바이트 수이다. 일반적으로 buf가 가르키는 저장소의 크기를 넘지 않는다.
flags : 옵션을 설정하는 데 필요한 인자
addr    : 주소 정보 구조체 변수의 포인터를 인자로 넘긴다. 함수 호출이 끝나면, 데이터를 전송한 호스트의 주소 정보로 채운다.
addrlen : addr 포인터가 가리키는 주소 정보 구조체 변수의 크기를 인자로 전달한다.

'Etc > TCP/IP' 카테고리의 다른 글

Half-close 의 필요성  (0) 2013.09.25
UDP 기반의 데이터 입,출력 함수  (0) 2013.09.25
UDP 기반의 ECHO서버/클라이언트  (0) 2013.09.25
바이트 순서 변환 (Endian Conversions)  (0) 2013.09.25
테이터 타입 (data type)  (0) 2013.09.25