1
나는 그것을 accept()
가 모니터의 포트에 연결을이야 할 때 (x)는 inetd에 소켓이 생성되고 있다는 점에서, 대부분의 데몬처럼 작동한다는 가정. 어떻게 든하지만, 그것은 fork()
들과 exec()
의 대상 서비스 프로그램을하기 전에,이 세 가지 표준 I로이 양방향 소켓을 변환 관리/O는 STDIN, STDOUT, 및 STDERR는 디스크립터. (x) inetd가 연결된 소켓을 STDIN/STDOUT/STDERR로 "분할"합니까?
내가 하나의 소켓을 통해 양방향 서비스 프로그램이 통신하고자하는 이유
는 하나의 양방향 소켓을 기반으로하는 I/O 인프라를 사용할 필요가 있다는 것입니다. inet.d 서버
방법을 잘 당신은 FDS는 0, 1, 2 모두 단순히 동일한 기본 소켓에 언급되지 않은 것을? –
음 ... 나는 아니에요. 그러나 하나를 선택하여 양방향으로 사용할 수 없습니다. 예를 들어 STDIN에 쓰면 오류가 발생합니다. 디스크립터가 쓰기 위해 닫혀 있다고 생각합니다. – Chap
흠. 거기에 무슨 일이 일어나고 있는지 모르겠지만, 나는 inetd 하에서 실행해야하는 코드를 실제로 다루지 않았습니다. 그러나 유닉스와 마찬가지로 모든 일이 당신이 상상하는 것보다 더 간단 할 것입니다. :) –