2
큰 파일을 클라이언트에 제공 할 수있는 http 서버를 작성 중입니다.BaseHTTPRequestHandler를 사용하여 클라이언트가 연결을 닫는 방법 알아보기
wfile 스트림에 쓰는 동안 클라이언트가 연결을 닫고 서버에 소켓 오류가 발생할 수 있습니다 (Errno 10053).
클라이언트가 연결을 닫을 때 쓰기를 중지 할 수 있습니까?
def handle(self):
"""Handles a request ignoring dropped connections."""
try:
return BaseHTTPRequestHandler.handle(self)
except (socket.error, socket.timeout) as e:
self.connection_dropped(e)
def connection_dropped(self, error, environ=None):
"""Called if the connection was closed by the client. By default
nothing happens.
"""
# add here the code you want to be executed if a connection
# was closed by the client
두 번째 방법은 : 클라이언트가 연결이 닫혀 있는지 알 수 있도록
감사합니다. –
기꺼이 도와 드리겠습니다! Stackoverflow에 오신 것을 환영합니다 !! :) –
socket.error는 클라이언트에 데이터를 보낼 때만 throw됩니다 (self.wfile.write). 파이프를 보내지 않고 파이프가 파손되었는지 확인하는 방법을 알고 있습니까? –