본문 바로가기
TCP/IP

sendto()

by 상레알 2010. 3. 28.
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  중에서...-

'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