connect 질문이요?
글쓴이: vilinux / 작성시간: 금, 2004/04/30 - 1:00오후
TCP 프로그램 하는중입니다.
환경은 리룩스 gcc 로 컴파일하고요
서버쪽에서는 클라이언트 쪽에서 들어올때마다 포크생성해서 통신하고요
클라이언트쪽 에서는 소켓 생성해서 데이터 를 샌드하고 잘받았는지
리시브 한다음에 리시브에서 에러나 머 키타 돌발 상황이 발생하면
리커넥 하게 해놨는데 문제는....
셀렉트 함수 써서 리스비 에러면 소켓을 close 하고 다시 소켓 생성
그다음에 커넥을 시도 하는데...............
소켓을 생성 하고 커넥을 하니까 서버쪽에서 프로세서를 계속 생성하게
되는데요 클라이언트쪽에서 소켓생성은 안하고 connect만 해야하는지??
궁금합니다.
또 서버쪽에서 클라이언트가 종료 하고 나갈때 프로세서를 죽여야 할것같은데
그냥 클라이언트 소켓만 close 하면 되는지 궁금합니당...
이두개 질문 답변좀 소스필요 하면 올려 드리겠습니다.
Forums:
짧은 지식으로나마... 소켓은 당연히 생성하고 컨넥트를 해야 합니
짧은 지식으로나마...
소켓은 당연히 생성하고 컨넥트를 해야 합니다.
connect인자에 소켓구조체를 받게 되있는걸로 알고 있습니다.
fork는 자식프로세스를 생성하는 함수로 fork로 처리하셨다면 프로세서가 생성되는걸로 알고 있습니다.
fork로 생성된 자식프로세스는 루틴이 끝나면 자동으로 종료되는걸로 알고 있는데... 기억이.. -_-a;;
Simple is best, all of the time...
저거 맞나...
프로세서 생성 하고 클라이언트에서 종료 하고 나가면 서버쪽에서 ps
프로세서 생성 하고 클라이언트에서 종료 하고 나가면
서버쪽에서 ps 명령어 내려서 보면
생성된 자식 프로세서 stats 라는데에 z 로 표기 되어있던데..
않죽은프로 세서 stats 는 s 로 표기 되어있고요..
아이고 죽겄네 맨땅에 해딩하기~~~
좀비는 부모 프로세스쪽에서 wait을 안해주기 때문입니다..wait을
좀비는 부모 프로세스쪽에서 wait을 안해주기 때문입니다..
wait을 해 주시거나 SIG_IGN를 해 주세요
해결해습니당..^^
프로세서 좀비 죽이는건 해결 했습니당.
근데 프로세서 생성할때 부모는 항상 하나죠?
댓글 달기