SYSTEM PROGRAMMING

MSG_PEEK | MSG_DONTWAIT

뉴암스테르담 2015. 8. 5. 21:29


MSG_PEEK | MSG_DONTWAIT  시스템프로그래밍 

2013.03.28. 21:35  수정  삭제

복사http://blog.naver.com/pwk0810/40185590112

전용뷰어 보기

 

str_len = recv(recv_sock, buf, sizeof(buf)-1, MSG_PEEK | MSG_DONTWAIT) ;

 

 

MSG_DONTWAIT 옵션과 함께 설정되어 입력 버퍼에 수신된 데이터에 존재하는지 확인하는 용도로 사용된다.

 

MSG_PEEK 는 recv함수를 호출하면 입력 버퍼에 존재하는데 데이터가 읽혀지더라도 입력 버퍼에서 데이터가 지워지지 않는다. 

때문에 MSG_DONTWAIT 과 함께 묶여서 블록킹 되지 않는, 데이터의 존재 유무를 확인하기 위해서 사용된다.

 

 

아무런 옵션이 주어지지 않으면 읽어들인 데이터는 입력버퍼에서 지워진다.