>> Delete Reply from No. 40337 article
No. RE: [질문]C프로그래밍에서 select()란 함수

등록 2002-01-21 18:14:00 By localhost     조회 1
이름 ozz    

		먼저 이 함수는 다중 터미널 프로그램이나 서버 프로그램에서 종종
사용하는데요 이곳에 정확히 설명하기에는 너무 힘들것 같군요.
대체적으로 개요만 말하면요.
 유닉스 계열에서는 메모리에 올려져 돌아가고 있는 명령어 집단(?)을
프로세스라고 하죠.
그 하나의 프로세스들은 파일 디스크립터를 1024개를 가질 수 있어요.
물론 저 숫자는 고정된 것은 아니구요.
그중 0은 표준 입력, 1은 표준 출력, 2는 표준 에러로 이미 할당이 되어 있지요.
따라서, 자신이 open(), socket()같은 것을 사용하여 새 파일을 열면
3부터 새로 할당이 됩니다. (맞나?)
그 단순한 번호가 파일 디스크립트입니다.
 이러한 파일 디스크립트가 여러 개가 열려 있을 때,
어느 디스크립터에 입력(혹은 출력 등)이 있는지를 알아내는 것이
select()함수 입니다.
 이는 비트를 다루므로 먼저 전부 0으로 셋팅합니다.
:            FD_ZERO(&readfds);   <= 요부분
 다음 관심있는 파일 지시자를 셋팅합니다.
 :            FD_SET(STDIN, &readfds); <= 요부분
즉, 표준 입력을 감시하겠다는 거죠.
 그리고 select()를 실행하여 입력의 여부를 검사하는 것이고요.
시간은 2.5초간
 그리고 언제나 +1을 해주는 것은 아니고 표준 입력의 경우에
그러합니다.(??) 최대 숫자임
 보다 정확히 알려면 잘 아는 사람에게 술한잔 사주고 시간을 두고
자세히 물어봐야 할 것입니다.
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved