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 포인터가 가리키는 주소 정보 구조체 변수의 크기를 인자로 전달한다.
#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 |