select를 이용한 파일 감시를 하고 있습니다.
글쓴이: gugudan / 작성시간: 목, 2007/02/15 - 1:01오전
한쪽에서는 계속 쓰고 있고 한쪽에서는 쓰는 파일을 읽어서 처리를 하는 프로그램을
만들었습니다.
그런데 쓰는 쪽에서는 아주 빠른 속도로 파일을 기록하고 있는데..
읽는쪽에서 이상하게 가끔 마지막껄 읽는게 아니고 마지막 전단계를 읽는 상태가
되고 있습니다.
예를들면..
쓰는 쪽에서..
10
20
30
40
50
이렇게 다섯번을 썼는데..
받는쪽에선 출력을 해보면 40이 출력이 됩니다.
int state=select(fd+1,&rfds,NULL,NULL,(struct timeval *)0) ; if(FD_ISSET(fd,&rfds)) { while((sizen=read(fd,msg,1024)) >0) { printf("출력된 값들 : %s",msg); } }
대략 코드는 위와 같은 형식으로 되어 있습니다.
혹시나 해서 파일을 보면 파일에는
50까지 정상적으로 나와 있습니다.
항상 그런게 아니고..가끔 그럽니다.
Forums:
select 가 지원하는
select 가 지원하는 파일이 stream-based 일겁니다.
man select을 하면 해당 관련 내용이 나올겁니다.
일반 file을 안될거에요.
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
댓글 달기