を使用している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