select 함수
글쓴이: wakeup / 작성시간: 금, 2005/09/09 - 2:48오후
int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout)
select 함수의 파일 디스크립터 파라미터 중 주로 read fd를 많이 사용하는 거 같은데요, 네번째 파라미터인 exceptfds는 주로 언제 사용하는지 알고 싶습니다.
검사 대상의 파일 디스크립터에서 예외가 발생했을 때 select 함수가 리턴하는데, 예외 발생이라는 말이 좀 애매합니다.
구체적인 예를 알면 이해하기가 좀 쉬울 거 같은데요..아시는 분 설명 부탁드립니다.
Forums:
[code:1]$ info libc out-of-band[/code:1]
$ info libc out-of-band
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
긴급 데이터 전송시 사용
궁금해 하시는 부분은 TCP/IP 프로토콜에 대한 내용을 읽어보시면 쉽게 이해하실 수 있습니다. Out-of-band라는 것인데 TCP 헤더에 Out-of-band 데이터를 보내겠다고 설정을 할 수 있는데 그렇게 되면 TCP/IP 프로토콜 상에서 그 데이터를 우선적으로 상위로 보내줍니다.
구현 상에서 그 데이터를 읽고 싶은 경우에는 recv 함수에 옵션을 따로 줘야 합니다. 그 옵션 MSG_OOB입니다. 일반 recv로 해서 읽으면 안읽어지니 구현하실때 신경쓰십시오.
/***************************************************
* 가장 심플한 것이 가장 아름다운 것이다.
***************************************************/
댓글 달기