[Twisted-Python] ftpclient connection lost callback

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Thu Sep 5 12:35:42 MDT 2013


On 05:49 pm, peter at peterryan.net wrote:
>I am writing a simple ftp client which I am trying to dispose of. Right 
>now
>I send a quit command:
>
>(the ftp_client reference is a FTPClient built with a ClientCreator)
>
>deferred = ftp_client.quit()
>
>And I register a callback:
>
>def quitSent(response):
>   print "quit acknowledged...connected?", 
>ftp_client.transport.connected
>
>deferred.addCallback(quitSent)
>
>If I invoke the above the connection is printed as connected.

There is no documented `connected` attribute of transports.  So who 
knows what this is telling you. :)

However, the way you learn when a protocol's transport has disconnected 
is to implement the `connectionLost` method on the protocol.  It is 
called when the transport disconnects.

Jean-Paul
>However if I schedule a callback to check the status later:
>
>def status():
>   print "quit acknowledged...connected?", 
>ftp_client.transport.connected
>
>reactor.callLater(1, self.status)
>
>If I schedule a callback for a second later the transport is not 
>connected.
>I've searched quite a bit but I cannot determine a way to register a
>callback for when the TCP transport is actually disconnected. Can 
>anyone
>offer some insight? I'd like to know explicitly when the client is 
>closed.
>
>Thanks,
>
>Peter



More information about the Twisted-Python mailing list