send 함수는 buffer에 있는 데이터를 length 바이트 길이 만큼, 소켓 지정 번호 sockfd를 이용해서 전송한다. 이 함수는 연결 지향 소켓에 사용할 수 있다. 만약 데이터 그램 지향 소켓을 이용해서 데이터를 전송하길 원한다면 sendto 함수를 사용해야 한다.
flags로 사용할 수 있는 값들이다.
MSG_OOB : OOB(out of band)데이터를 전송한다.
MSG_WAITALL : 요청한 데이터의 크기가 모두 차야지 함수를 반환한다. 하지만 이식성의 문제로 이 플래그를 사용하는 일은 드물다. 그냥 반복해서 데이터를 읽는 방법을 권장한다.
MSG_DONTWAIT : 비 봉쇄로 작동하도록 한다. 비 봉쇄로 작동하게 하려면 fcntl(2)함수로 O_NONBLOCK 설정을 해줘야 한다. 비 봉쇄로 작동하면, recv 함수는 바로 반환한다. 이때 EAGAIN 혹은 EWOULDBLOCK를 errno로 설정한다. 프로그램은 errno 값을 읽어서, 소켓에 에러가 발생해서 반환한 건지 아니면 비 봉쇄 특성으로 반환한 건지를 확인할 수 있다.
send
사용 법
매개 변수
설명
예제
Recent Posts
Archive Posts
Tags