::recv()
을 통해 바이트를 수신 중이며 0을 반환하는 시나리오가 있습니다. 여기에 따르면Linux 소켓 - 연결이 끊어 졌거나 완료 되었습니까?
http://www.tutorialspoint.com/unix_system_calls/recv.htm
이는 : 피어 순차적 종료를 수행 할 때
반환 값은 0 일 것이다.
연결의 어느 쪽을 닫았는지 확인할 수있는 방법이 있습니까? 나는 원격 클라이언트가 우리의 연결을 죽였는 지, 아니면 우리 측의 어떤 논리가 그것을 막았는지는 모른다.
':: recv'는 C가 아니지만 C++ 일 수 있습니다. 올바른 언어 태그를 사용하십시오. 그러나 '0'을 얻을 다른 이유가있다. 비 블로킹 소켓의 경우. – Olaf
저는 recv()가 C에 있습니다. 왜냐하면 glibc (http://www.gnu.org/software/libc/manual/html_node/Receiving-Data.html)와 리눅스 커널이 작성 되었기 때문입니다 C? 내가 비 차단 소켓을 사용하고 있다고 생각하지 않습니다. – user997112
@Olaf 또한 C 태그가 정당하다고 생각합니다. – a3f