C 네트웍 프로그램에서 accept() 리턴값

unexpected의 이미지

네트웍 프로그램을 테스트중에...

accept() 함수에서 '0'을 리턴하는 경우가 종종 발생이 됩니다.

정상의 경우 socket()에서 생성한 fd가 4라면 '1'이 큰 '5'를 리턴을 하던데..

'0'이 발생되는 이유가 뭔지 알려주시면 감사하겠습니다.

좋은 하루 되세요~

mg2000의 이미지

errno값을 보셔야 정확한 원인을 알 수 있을것 같은데요.

unexpected의 이미지

ns = accept() 에서 ns가 '0'일 경우 errno = 0 입니다.

jongi의 이미지

소켓을 만드신 다음 표준입력을 닫으셨다면 0번 디스크립터를 사용하실 수 있습니다.

--
종이한장 * 이성으로 비관하더라도 의지로 낙관하라! (그람시)

--
종이한장 * 이성으로 비관하더라도 의지로 낙관하라! (그람시)

unexpected의 이미지

아~ 그렇군요....답변 감사합니다 ~