Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

recv

사용 법

#include <sys/socket.h>

ssize_t recv(int socket, void *buffer, size_t length, int flags);
recv 함수는 일반적으로 연결 지향 소켓에서 사용한다.

매개 변수

  • socket : 열린 소켓 지정 번호
  • buffer : 읽은 데이터를 저장하기 위한 버퍼
  • length : 소켓 버퍼로 부터 읽어올 크기.
  • flags : 옵션 플레그
f

설명

recv함수는 연결 지향 소켓 ( connect(:2)함수를 사용하는)에 사용된다. 만약 데이터 그램 지향 소켓을 사용하길 원한다면, recvfrom(:2)함수를 사용해야한다.

플래그로 사용할 수 있는 값은 다음과 같다.
  • MSG_OOB : OOB(out of band)데이터를 읽는다.
  • MSG_PEEK : 플래그를 사용하면, 버퍼로 부터 데이터를 읽지만 제거하지는 않는다.
  • MSG_WAITALL : 요청한 데이터의 크기가 모두 차야지 함수를 반환한다. 하지만 이식성의 문제로 이 플래그를 사용하는 일은 드물다. 그냥 반복해서 데이터를 읽는 방법을 권장한다.

예제