클라이언트가 httplistener와의 연결을 감지합니다
-
19-09-2019 - |
문제
httplistener를 사용하는 응용 프로그램이 있습니다. 클라이언트가 언제 연결을 끊었는지 알아야합니다. 지금 당장 모든 코드가 시도/캐치 블록 내부에 꽤 추악하고 모범 사례가 아닙니다.
클라이언트가 연결이 끊어 졌는지 어떻게 알 수 있습니까?
감사해요!
해결책
짧은 대답 : 당신은 할 수 없습니다. 클라이언트가 대화를 중단하면 기본 소켓이 열려 있고 닫히지 않을 수 있습니다. 타임 아웃 만 할 것입니다. 이를 감지하는 방법은 해당 연결에 대한 작업을 수행하려고 시도하는 것이며 연결이 더 이상 유효하지 않으면 발생한 일에 따라 일종의 예외가 발생합니다. httplistener를 비동기로 사용하는 경우 시도/캐치 측면에서 코드를 약간 정리할 수 있지만 불행히도 그것이 당신이 붙어있는 것입니다. 클라이언트가 연결을 끊으면 해고 할 이벤트가 없습니다.
제휴하지 않습니다 StackOverflow