process 잠시 대기 상태로 두는 방법좀 알려주세요
글쓴이: sysmoon / 작성시간: 화, 2005/08/16 - 4:36오후
dhcp flow에서 인증을 구현하고 있습니다.
즉 인증이 되면 dhcp 의 4가지 flow 에서 최종적으로 ACK를
날리고 인증이 안되면 NAK를 날리는 데모입니다.
client dhcp server discover(1) -----------------------> *인증과정 offer(2) <----------------------- Request(3) ------------------------> ACK(4) or NAK(4) <------------------------
server가 discover(1) 메세지를 받고 인증구현에 들어갑니다.
인증구현은 실제 자바로 짠 서버에서 동작을 하게 됩니다.
인증의 dhcp server 소스는 discover 메세지를 받고 성공 실패 여부를 파일에서 읽어서 알게 됩니다.
성공하면 그 다음 메세지 플로우로 넘어아고 실패하면 NAK를
날리게 됩니다.
그럼 dhcp server source에서는 인증하는 동안안에는
offer(2) 메세지를 보내면 안되는데 그 동안 대기시키는 방법을
잘 모르겠습니다. while(1) 문으로 돌리면 부하가 크고....
어떠한 방법을 써야 하나요?
인증 서버는 자바에서 서버소켓으로 구현해서 인증과정을 다 마친후 그 결과를 파일에다 써주거든요.. dhcp server는 그 파일을 통해서 인증의 실패여부를 알게 되고요...
좋은 방법이 있으면 쫌 알려주세용~~ ^^
참고로 dhcp 는 www.isc.org 에서 다운로드 받은 open source입니다.
Forums:
인증 성공/실패 메시지를 읽는 API 및 그 부분의 코드를 보여주세요.
인증 성공/실패 메시지를 읽는 API 및 그 부분의 코드를 보여주세요.
질문의 정확한 내용을 말씀해주세요.
실제로 데이터를 받는 부분과 offer(2) 메시지를 보내는 부분이 서로 다른 프로세스로 구성되어 있다는 말씀이신지...?
아님 스래드 상태로 서로 구분되어 있는지??
/***************************************************
* 가장 심플한 것이 가장 아름다운 것이다.
***************************************************/
참조한 소스가 뭔지는 안봐서 모르겠으나대충 생각하기에 sync soc
참조한 소스가 뭔지는 안봐서 모르겠으나
대충 생각하기에 sync socket 으로 처리되는것 같군요. 이 가정 하에서 말씀드리면,
while(1) 안에 sleep or usleep을 적당히 주고, 파일 체크도 하고 하면 되지 않을까 생각이 되네요.
파일이 있으면 offer(2) 를 하고 while을 빠져나가면 안될까요?
댓글 달기