Python 如何使用开放客户端连接关闭服务器?

Python 如何使用开放客户端连接关闭服务器?,python,multithreading,socketserver,Python,Multithreading,Socketserver,我一直在寻找一种解决方案来终止一个socketserver。StreamRequestHandler在主线程终止时,由类ThreadingMixIn生成为一个单独的线程。问题在于,socketserver线程虽然是daemonic线程,但只要存在打开的客户端连接,就不会终止,即使在程序关闭时调用其shutdown()方法也是如此。因此,主胎面也没有终止。在或类似的帖子中没有一条建议对我有效 我现在找到了一个解决方案: 类ThreadingMixIn具有一个属性daemonic\u threads

我一直在寻找一种解决方案来终止一个
socketserver。StreamRequestHandler
在主线程终止时,由类
ThreadingMixIn
生成为一个单独的线程。问题在于,socketserver线程虽然是daemonic线程,但只要存在打开的客户端连接,就不会终止,即使在程序关闭时调用其
shutdown()
方法也是如此。因此,主胎面也没有终止。在或类似的帖子中没有一条建议对我有效

我现在找到了一个解决方案: 类
ThreadingMixIn
具有一个属性
daemonic\u threads
,默认为true:

class ThreadingMixIn:
"""Mix-in class to handle each request in a new thread."""
# Decides how threads will act upon termination of the
# main process
daemon_threads = False
在我的子类中,它当然覆盖了方法
handle()
,我现在也在
\uuuu init\uuuu
中定义了覆盖:

daemon_threads = True
现在所有客户端请求都是守护进程,当主线程终止时,它们也会终止。美好的 希望这能帮助有类似问题的人