Twistedを使用してプロキシサーバーを作成していますが、サーバーへの接続が切断されたかどうかを確認する際に問題があります。Twistedで接続が閉じられたかどうかを確認
それが今であるように、私は持っている
クライアント< - >プロキシ< - >サーバーのtelnetと
テストは、プロキシが正常にクライアントからサーバーへのメッセージを渡し、およびバックサーバの応答を渡しますクライアントに送信します。しかし、私の問題は、クライアントがプロキシとサーバーの間の接続を閉じるコマンドを発行し、クライアントとプロキシ間の接続が残っている場合です。ここで
は、私はおそらくdataReceivedに、接続の状態を監視し、サーバがそれを閉じたかどうかを確認できるようにしたい私のコードの一部
ラインでclient_factory = protocol.ClientFactory()
client_factory.protocol = ClientTelnetProtocol
client_factory.proxy = self
try:
clientsocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
clientsocket.connect(('localhost', 1234))
clientsocket.close()
reactor.connectTCP('localhost', 1234, client_factory)
except Exception as err:
print(err)
self.transport.loseConnection()
reactor.connectTCP('localhost', 1234, client_factory)
ですサーバーがプロキシへの接続を閉じたときに割り込みを設定し、プロキシがクライアントへの接続をただちに終了させるようにしてください。
これはまさに私がやろうとしていたものでしたが、私はclientConnectionFailedメソッドを見つけることができませんでした。代わりに、私はちょうどソケットを設定し、失敗する場合は、接続を中止してください。 –