sendto() : 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)
성공시 전송된 바이트수 , 실패시 -1 리턴
* - 옵션 설명 - *
sock : 데이터를 전송할 때 사용할 소켓의 파일 디스크립터를 인자로 넘겨 준다. 데이터를 네트워크로 전송하기 위해서는 기본적으로 소켓이 필요하다. 이러한 목적으로 사용되는 인자인데, 그냥 편지를 보내기 위해 사용될 우체통을 설정하는 것이다고 생각해도 좋겟다.
msg : 전송하고자 하는 데이터를 저장해 놓은 버퍼를 가리키는 포인터이다. 이 포인터가 가리키는 버퍼의 데이터가 전송될 것이다.
len : msg 포인터가 가리키는 위치에서부터 몇 바이트를 전송할 것인지 그 크기를 인자로 넘겨준다.
flags : 옵션ㅇ르 설정하는데 필요한 인자인데 일반적으로 0을 넣어주면 된다. 크게 사용되지 않는다.
addr : 전송하고자 하는 곳의 주소 정보로 초기화한 다음에 인자로 넘겨 주게 된다. (sockaddr 구조체 )
addrlen : addr 포인터가 가리키고 있는 구조체 변수의 크기를 인자로 넘겨준다.
- 열혈강의 TCP/IP 중에서...-
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)
성공시 전송된 바이트수 , 실패시 -1 리턴
* - 옵션 설명 - *
sock : 데이터를 전송할 때 사용할 소켓의 파일 디스크립터를 인자로 넘겨 준다. 데이터를 네트워크로 전송하기 위해서는 기본적으로 소켓이 필요하다. 이러한 목적으로 사용되는 인자인데, 그냥 편지를 보내기 위해 사용될 우체통을 설정하는 것이다고 생각해도 좋겟다.
msg : 전송하고자 하는 데이터를 저장해 놓은 버퍼를 가리키는 포인터이다. 이 포인터가 가리키는 버퍼의 데이터가 전송될 것이다.
len : msg 포인터가 가리키는 위치에서부터 몇 바이트를 전송할 것인지 그 크기를 인자로 넘겨준다.
flags : 옵션ㅇ르 설정하는데 필요한 인자인데 일반적으로 0을 넣어주면 된다. 크게 사용되지 않는다.
addr : 전송하고자 하는 곳의 주소 정보로 초기화한 다음에 인자로 넘겨 주게 된다. (sockaddr 구조체 )
addrlen : addr 포인터가 가리키고 있는 구조체 변수의 크기를 인자로 넘겨준다.
- 열혈강의 TCP/IP 중에서...-
'TCP/IP' 카테고리의 다른 글
Nagle 알고리즘 (0) | 2011.05.02 |
---|---|
getsockopt() , setopt () 함수 (0) | 2011.05.02 |
ioctl : 장치 제어 함수 (0) | 2011.04.29 |
소켓 함수 및 헤더들 (0) | 2011.02.07 |
SOCKADDR_IN 구조체 (0) | 2010.03.28 |
SOCKET() 함수 (0) | 2010.03.25 |
Linux: SOCK_PARCKET (0) | 2009.12.03 |
ICMP 프로토콜 (0) | 2009.11.16 |
인터넷 소켓 활용 (0) | 2009.08.31 |
TCP/IP 열혈 강의 (0) | 2009.08.12 |