[급]select와 fd_isset이 이해가 안되요
글쓴이: kcv / 작성시간: 목, 2004/10/21 - 12:19오전
안녕하세요 제가 곧 시험을 보는데 게시판을 뒤져도 제가 원하는 답볍이 업서서
급질문 올리게되었씁니다
네트워킹 프로그램설명이 책중에서 채팅프로그램이 나와있는데 이해가 안되네요
FD_SET(int fd, fd_set *fdset)
->fdset중 소켓fd에 해당하는 비트를 1로한다.
FD_ISSET(int fd, fd_set *fdset)
->fdset중 소켓fd에 해당하는 비트가 세트되어 있으면 양수값을 리턴한다.
***근데 도대체 비트가 세트되었다는것이 무슨뜻인지 이해가 되지 않네요***
소스를 쭉 보니까
select(maxfdp1, &read_fds,(fd_Set *)0,(fd_Set *)0,(struct timeval *)0);
~~
~~~~
if(FD_ISSET(s,&read_fsd))
{
}
제가 생각하기에는요~
read가 가능한 상황이 되면 select가 리턴되는데,
각각의 fd들은 read쪽에 1로 변환시켜놨자나요(fd_set)
근데 fd_isset을 한다고 해서 달라질게 있나요? 변한게 없는데 말이죠
어쩌면 좋죠 ㅠㅠ
(초보티 팍팍나네요 ^^;)
Forums:
저는 네트웍 프로그래밍은 잘 모르지만 C에서 비트가 세트되었다는 말은
저는 네트웍 프로그래밍은 잘 모르지만 C에서 비트가 세트되었다는 말은
해당 비트를 1로 만든다는 뜻입니다. 0으로 만들면 리셋(reset)이라고 하고요.
같은 뜻으로 on/off라는 말도 씁니다.
댓글 달기