我使用Twisted创建TCP客户端套接字。我需要在connectionMade方法的循环间隔中检查连接状态。Python - 扭曲客户端 - 在ping回路中检查protocol.transport连接
from twisted.internet import reactor, protocol
class ClientProtocol(protocol.Protocol):
def connectionMade(self):
while not thread_obj.stopped.wait(10):
print ('ping')
self.transport.write(b'test') # Byte value
对于检查连接失败,我手动断开我的网络,我以后查了一些变量波纹管:
print (self.connected)
print (self.transport.connector.state)
print (self.transport.connected)
print (self.transport.reactor.running)
print (self.transport.socket._closed)
print (self.factory.protocol.connected)
print (self._writeDissconnected)
但是,任何变量值断开我的网络后,并没有改变:(
我的问题是:当连接丢失时会设置哪些变量?我的意思是如何检查连接状态,如果断开连接,我该如何重新连接?
''connectionMade'里面做的while循环是什么?它是否阻止'connectionMade'返回? – keturn
@keturn感谢您的关注,'connectionMade'内的循环用于检查或ping连接,并在连接丢失时通知。此循环不会阻止返回。但是我打印的值在从服务器断开连接后从未更改过。我需要知道如何检查连接状态,如果断开连接,我该如何重新连接? –