사용자가 동적으로 청취 소켓을 추가 할 수있는 단일 스레드 선택 서버를 작성하고 있습니다. 문제는 청취 소켓을 추가하려는 경우 다른 소켓 중 하나에서 무언가가 발생할 때까지 서버가 새 소켓을 선택하지 않는다는 것입니다.동적 선택 서버
한 가지 해결 방법은 서버에 새 청취 소켓을 목록에 추가하도록 강제로 새 청취 소켓을 추가 할 때마다 신호를 보낼 수있는 가짜 소켓을 목록에 추가하는 것이 었습니다. 이 솔루션은 나에게 조금 "해커"처럼 보입니다. 다른 누군가에게 아이디어가 있는지 알고 싶었습니다.
'accept()'를'select()'와 별도로 실행하고 있습니까? 왜'select()'에서 연결을 받아들이지 않고 동기화 문제가 없습니다. –
select에서 연결을 수락하고 있습니다 ... 그리고 동기화 문제가 없습니다 ... 당신의 코멘트가 무엇인지 잘 모르겠습니다. 제 질문으로합니까? – marler8997