끊은 경우 검색하는 방법 : 나는 소켓 제대로 모든 것을 연결C 소켓 프로그래밍 : 클라이언트가 두 개의 소스 파일이 나는 간단한 C 프로그램을하고 있어요
server.c 및 client.c을하고, 나는 poll() 함수를 사용하여 키보드 (파이프에 연결된 셸뿐만 아니라)에 대해 키보드를 폴링합니다.
클라이언트가^D 및^C 명령을 사용하여 자식 프로세스를 종료하고 클라이언트와 서버 터미널을 모두 종료 할 때를 감지 할 수 있습니다.
그러나 클라이언트가 전화를 끊으면 (즉 클라이언트 단말 탭에서 x를 명시 적으로 클릭) 감지 할 수 있습니까? 지금 당장 서버 탭에서이를 감지하지 못하고 닫히지 않습니다. 시간 제한 사용을 피하고 싶습니다.
을하는 데 도움이, unsignaled 클라이언트/서버의 죽음을 감지 할 수 없습니다. 피어가 방금 죽거나, TCP 클로즈 교환이나 KEEPALIVE 또는 애플리케이션 레벨 폴링을 사용하는 것과 같은 데이터 교환 시도없이 도달 할 수없는 경우 상대방은 결코 알 수 없습니다. – ThingyWotsit