Go to the latest version of this document.

# ``twisted`.`internet`.`protocol`.`ClientFactory``

class documentation

`class ClientFactory(Factory[P]): (source)`

Known subclasses: `twisted.conch.client.direct.SSHClientFactory`, `twisted.conch.scripts.tkconch.SSHClientFactory`, `twisted.internet.protocol.ReconnectingClientFactory`, `twisted.mail.relaymanager.SMTPManagedRelayerFactory`, `twisted.mail.smtp.SMTPSenderFactory`, `twisted.names.client.DNSClientFactory`, `twisted.protocols.ftp.DTPFactory`, `twisted.protocols.loopback.LoopbackClientFactory`, `twisted.protocols.policies.WrappingFactory`, `twisted.protocols.portforward.ProxyClientFactory`, `twisted.spread.pb.PBClientFactory`, `twisted.web.proxy.ProxyClientFactory`, `twisted.web.xmlrpc.QueryFactory`, `twisted.words.protocols.irc.DccChatFactory`, `twisted.internet.endpoints._WrappingFactory`, `twisted.internet.protocol._InstanceFactory`, `twisted.protocols.ftp._PassiveConnectionFactory`

View In Hierarchy

A Protocol factory for clients.

This can be used together with the various connectXXX methods in reactors.

Method | `clientConnectionFailed` | Called when a connection has failed to connect.
Method | `clientConnectionLost` | Called when an established connection is lost.
Method | `startedConnecting` | Called when a connection has been started.

Inherited from `Factory`:

Class Method | `forProtocol` | Create a factory for the given protocol.
Method | `buildProtocol` | Create an instance of a subclass of Protocol.
Method | `doStart` | Make sure startFactory is called.
Method | `doStop` | Make sure stopFactory is called.
Method | `logPrefix` | Describe this factory for log messages.
Method | `startFactory` | This will be called before I begin listening on a Port or Connector.
Method | `stopFactory` | This will be called before I stop listening on all Ports/Connectors.
Class Variable | `noisy` | Undocumented
Class Variable | `protocol` | Undocumented
Instance Variable | `numPorts` | Undocumented

def clientConnectionFailed(self, connector: `IConnector`, reason: `Failure`): (source)
overridden in `twisted.conch.client.direct.SSHClientFactory`, `twisted.conch.scripts.tkconch.SSHClientFactory`, `twisted.internet.protocol.ReconnectingClientFactory`, `twisted.mail.relaymanager.SMTPManagedRelayerFactory`, `twisted.mail.smtp.SMTPSenderFactory`, `twisted.names.client.DNSClientFactory`, `twisted.protocols.ftp.DTPFactory`, `twisted.protocols.policies.WrappingFactory`, `twisted.protocols.portforward.ProxyClientFactory`, `twisted.spread.pb.PBClientFactory`, `twisted.web.proxy.ProxyClientFactory`, `twisted.words.protocols.irc.DccChatFactory`, `twisted.internet.endpoints._WrappingFactory`, `twisted.internet.protocol._InstanceFactory`, `twisted.protocols.ftp._PassiveConnectionFactory`

Called when a connection has failed to connect.

It may be useful to call connector.connect() - this will reconnect.

def clientConnectionLost(self, connector: `IConnector`, reason: `Failure`): (source)
overridden in `twisted.conch.client.direct.SSHClientFactory`, `twisted.internet.protocol.ReconnectingClientFactory`, `twisted.mail.smtp.SMTPSenderFactory`, `twisted.names.client.DNSClientFactory`, `twisted.protocols.loopback.LoopbackClientFactory`, `twisted.protocols.policies.WrappingFactory`, `twisted.spread.pb.PBClientFactory`, `twisted.web.xmlrpc.QueryFactory`, `twisted.words.protocols.irc.DccChatFactory`

Called when an established connection is lost.

It may be useful to call connector.connect() - this will reconnect.

def startedConnecting(self, connector: `IConnector`): (source)
overridden in `twisted.protocols.policies.WrappingFactory`, `twisted.internet.endpoints._WrappingFactory`

Called when a connection has been started.

You can call connector.stopConnecting() to stop the connection attempt.

Parameters
connector:`IConnector` | a Connector object.