connected udp에서 상대 proess가 죽거나 close로 인한 disconnect를 select에서 detect 하는 방법이 있나요?
글쓴이: cooljia / 작성시간: 금, 2008/09/12 - 5:37오후
linux와 unix를 번갈아 개발을 진행하고 있습니다.
HP unix에서 domain udp를 사용하여, connect시도후, send, recv 로 호 통신을 하는
program 을 시행하여 IPC로써 사용하고 있습니다.
이와 동일 하게 linux에서도 사용하려 했더니 한가지 문제가 발생하여
고수님들의 도움을 요청합니다.
문제점은 connect를 성공한 socket에 대해서 상대방 process가 close 또는 down 되었을 때,
HP에서는 select로 fd가 set되어 read 함수에서 disconnect를 감지 하고 있습니다.
하지만, linux에서는 같은 방법으로 disconnect가 되는 경우 감지가 되지 않아,
connection이 살아 있는 상태로 알고 있기 때문에 문제가 발생합니다.
물론 send를 통해서 알수도 있지만, disconnect되는 그 순간에 disconnect를 감지 하는 방안이
없을까 합니다.
그리고, domain stream socket을 사용하였을 경우, detect가 바로 되지만, stream socket 에서는
process간 data 유실이 발생하여, 안정적이지 않았습니다.
혹시, 이를 해결할 수 있는 방안이 있으신지.. 고수님들의 가르침 기다리고 있겠습니다.
Forums:


댓글 달기