man*_*lvf 5 python sockets networking webserver wsgi
我正在调试基于 wsgiref.simple 服务器的自定义 WSGI 服务器中的泄漏,我们发现我们没有正确关闭连接,因此套接字进入 CLOSE_WAIT 状态。我们正在使用线程池。
这是处理请求的python库代码:
def handle(self):
    """Handle a single HTTP request"""
    self.raw_requestline = self.rfile.readline(65537)
    if len(self.raw_requestline) > 65536:
        self.requestline = ''
        self.request_version = ''
        self.command = ''
        self.send_error(414)
        return
    if not self.parse_request(): # An error code has been sent, just exit
        return
    handler = ServerHandler(
        self.rfile, self.wfile, self.get_stderr(), self.get_environ()
    )
    handler.request_handler = self      # backpointer for logging
    handler.run(self.server.get_app())
如果 self.raw_requestline 的长度为 0,覆盖此方法并关闭套接字是否正确?(确定 TCP 套接字的状态)