저는 지금 포트를 두 개 열어서 하는 시스템에서 들어오는 값 처리 , 다른 포트는 http 에서 들어오는 값을 그대로 보내주는 에코 서버를 개발 중에 있습니다.
소스중에 printf 를 찍은 것들은 전부 디버깅 용으로 찍은 함수 입니다.
지금 , h_clnt_sock=accept() -> 하는 부분에서 큰 문제가 발생 하였습니다.
자꾸 클라이언트 소켓에 할당대는 값이 0이 나옵니다.
(0이 표준 입력 , 1이 표준출력 , 2가 표준에러로 알고 있습니다.)
0이 클라이언트 소켓 값으로 할당됨으로써 read/write가 안되고 있습니다.
서버 소켓에 5가 할당되었다면 클라이언트 소켓은 6이 할당되어야 하는게 보통 경우인데..
int fd = open("/dev/null", O_RDONLY); dup2(fd, STDIN_FILENO); close(fd);
를 accept 하기 윗 단에 쓰라고 하던데..
저는 써도 똑같은 오류가 발생해서요.
해당 오류 관련해서 조언 및 해결 방안 부탁 드립니다.