我正在实现一个正在使用的 python 应用程序ThreadingTCPServer
和一个BaseRequestHandler
. 这样做的问题是ThreadingTCPServer
似乎自动产生线程并创建处理程序的实例,调用它们的handle()
函数。然而,除了使用全局变量或类变量之外,这让我无法将数据传递给处理程序,这两种变量看起来都很骇人。有没有更好的方法呢?
理想情况下,这应该是这样的:
class ThreadedTCPServer(ThreadingTCPServer):
def process_request(self, *args, **kwargs):
ThreadingTCPServer.process_request(self, data, *args, **kwargs)
与处理程序一样
class ThreadedTCPRequestHandler(BaseRequestHandler):
def handle(self,data):
#do something with data