mochiweb 응용 프로그램에서 오래 보유 된 HTTP 요청을 사용하고 있습니다. 사용자와의 연결이 죽었을 때 나는 감지하고 싶어, 나는 수행하여 그 작업을 수행하는 방법을 알아 냈어 : 사용자가 자신 탭/브라우저를 닫거나 페이지를 새로 고칩니다 때 작동inet을 사용하여 HTTP 닫기 감지
Socket = Req:get(socket),
inet:setopts(Socket, [{active, once}]),
receive
{tcp_closed, Socket} ->
% handle clean up
Data ->
% do something
end.
. 그러나 인터넷 연결이 갑자기 중단되면 (Wi-Fi 신호가 갑자기 손실 된 경우) 브라우저가 비정상적으로 중단되면 TCP 닫기를 감지 할 수 없습니다.
내가 누락되었거나이를 수행하는 다른 방법이 있습니까?
나는 after 절을 사용하는 것을 고려했다. 그러나이 경우에는 내 프로세스가 최대 절전 모드 일 수있다. after 절이 여전히 최대 절전 모드 프로세스에서 작동합니까? – jeffreyveon
아니요, 그렇지 않습니다. 최대 절전 모드 프로세스는 메시지를 보낼 때 깨어납니다. 최대 절전 모드 시간 제한이 없으므로 깨우기 위해 전달 된 메시지가 지연됩니다. – Christian