recv 함수

programming/C_C++ 2012. 2. 3. 11:50
반응형

recv 함수는 접속되어 있는 소켓으로부터 들어오는 데이터를 수신하는 함수입니다.
 
int recv ( SOCKET s, char FAR* buf, int len,  int flags );
 
Parameters
 
s [입력] 접속된 소켓을 명시하는 기술자(descriptor)입니다.
buf [출력] 수신받은 데이터를 저장할 버퍼입니다.
len [입력] 버퍼의 길이를 명시합니다.
flags[입력] recv 함수의 기본작업(수신받은 데이터를 큐에서 읽어내고 제거하는 작업)이 아닌 다른 작업을 하게 하기 위해 이 플래그를 설정합니다.
 

MSG_OOB
이 플래그는 일반적 데이터 스트림에서 받지 않는 out-of-band 데이터를 요구한다.  몇몇 프로토콜은 보통 데이 터 큐의 머리에 급한 데이터를 놓는다. 그리고 이플래그는 그런 프로토콜에서는 사용될수 없다.
 
MSG_PEEK
이 플래그는 큐에서 데이터를 제거하는것 없이 받는 큐의  시작에서 데이터를 반환하기위한 받기 작동을 야기한다.  그리고, 연속적인 받기 호출은 같은 데이 터 를반환한다.
 
MSG_WAITALL
이  플래그는 완전한 요구가 만족될때까지 작동을 블럭킹하도록 요구한다.  그러나, 만일 신호가 발생 하 고,에 러나 단절이 발생하거나 받은 다음 데이터가 전에반환된 데이터와 다른 타입이라면 호출은 여전히 반환 된다.

MSG_NOSIGNAL
이  플래그는 다른 종점이 사라졌을때 스트림 소켓에서SIGPIPE 가 발생하는것을 막는다(끈다).
 
MSG_ERRQUEUE
이 플래그는 소켓 에러 큐에서 받아야하는 에러들을 큐하 도 록   지 정 한다.  에러는 프로토콜(IPv4를 위한IP_RECVERR ) 에 의존하여 타입과 보조테이터와  함 께전 달 된다.  사용자는 충분한 크기의 버퍼를 제공해야한다.


 

반응형
Posted by 공간사랑
,