문제

httplistener를 사용하는 응용 프로그램이 있습니다. 클라이언트가 언제 연결을 끊었는지 알아야합니다. 지금 당장 모든 코드가 시도/캐치 블록 내부에 꽤 추악하고 모범 사례가 아닙니다.

클라이언트가 연결이 끊어 졌는지 어떻게 알 수 있습니까?

감사해요!

도움이 되었습니까?

해결책

짧은 대답 : 당신은 할 수 없습니다. 클라이언트가 대화를 중단하면 기본 소켓이 열려 있고 닫히지 않을 수 있습니다. 타임 아웃 만 할 것입니다. 이를 감지하는 방법은 해당 연결에 대한 작업을 수행하려고 시도하는 것이며 연결이 더 이상 유효하지 않으면 발생한 일에 따라 일종의 예외가 발생합니다. httplistener를 비동기로 사용하는 경우 시도/캐치 측면에서 코드를 약간 정리할 수 있지만 불행히도 그것이 당신이 붙어있는 것입니다. 클라이언트가 연결을 끊으면 해고 할 이벤트가 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top