안녕하십니까
새내기 인턴으로 네트워크 프로그래밍을 공부하는 중에 질문이 있이 글을 올립니다.
1] Thread를 이용해서 다중 처리 서버를 제작하는데
클라이언트에서 connection이 들어오면 accept하고 쓰레드에 fd를 넘겨서 처리하는 서버를 만들고 테스트하였습니다.
테스트 클라이언트는 쓰레드를 생성해서 한번에 여러 데이터를 서버에 쏘게되는데, 이때 서버에서 fd가 10~20%정도 씹힙니다.
메인쓰레드에서 클라이언트 요청 처리 쓰레드를 호출한 후
메인쓰레드에서 클라이언트 요청 처리 쓰레드보다 먼저 매개변수에 접근하게 되어 발생하는 듯 한데 해결책을 어떻게 잡아야
할지 궁금합니다.
2] 멘토님께서 select를 하고 accept를 윗단해서 한 후 쓰레드에 fd를 넘겨서 서버를 작성하라고 하셨는데,
개인적인 생각으로는 select를 하고 쓰레드에서 accept를 하여 처리한다면 위의 1번 이슈는 해결될 것 같은데, (매개변수로 서버 소켓만 받으면 되므로)