# ``twisted`.`internet`.`tcp`.`Client``

class documentation

`class Client(_BaseTCPClient, BaseClient): (source)`

Known subclasses: `twisted.internet.ssl.Client`

View In Hierarchy

A transport for a TCP protocol; either TCPv4 or TCPv6.

Do not create these directly; use `IReactorTCP.connectTCP`.

Inherited from `_BaseTCPClient`:

Method | `__init__` | Undocumented
Method | `__repr__` | Undocumented
Method | `getHost` | Returns an `IPv4Address` or `IPv6Address`.
Method | `getPeer` | Returns an `IPv4Address` or `IPv6Address`.
Instance Variable | `addr` | The address that this socket will be connecting to.
Instance Variable | `addressFamily` | Undocumented
Instance Variable | `connector` | The `Connector` which is driving this `_BaseTCPClient`'s connection attempt.
Instance Variable | `createInternetSocket` | Subclasses must implement this as a method to create a python socket object of the appropriate address family and socket type.
Instance Variable | `_addressType` | The Twisted _IPAddress implementation for this client
Instance Variable | `_requiresResolution` | Undocumented

Inherited from `BaseClient`:

Method | `createInternetSocket` | (internal) Create a non-blocking socket using self.addressFamily, self.socketType.
Method | `doConnect` | Initiate the outgoing connection attempt.
Instance Variable | `connected` | Undocumented
Instance Variable | `logstr` | Undocumented
Instance Variable | `protocol` | Undocumented
Instance Variable | `realAddress` | The address object that will be used for socket.connect; this address is an address tuple (the number of elements dependent upon the address family) which does not contain any names which need to be resolved.
Method | `_collectSocketDetails` | Clean up references to the socket and its file descriptor.
Method | `_connectDone` | This is a hook for when a connection attempt has succeeded.
Method | `_stopReadingAndWriting` | Implement the POSIX-ish (i.e. `twisted.internet.interfaces.IReactorFDSet`) method of detaching this socket from the reactor for `_BaseBaseClient`.
Instance Variable | `_base` | `Connection`, which is the base class of this class which has all of the useful file descriptor methods. This is used by `_TLSServerMixin` to call the right methods to directly manipulate the transport, as is necessary for writing TLS-encrypted bytes (whereas those methods on `Server` will go through another layer of TLS if it has been enabled).

Inherited from `_BaseBaseClient` (via `BaseClient`):

Method | `connectionLost` | No summary
Method | `failIfNotConnected` | Generic method called when the attempts to connect failed. It basically cleans everything it can: call connectionFailed, stop read and write, delete socket related members.
Method | `resolveAddress` | No summary
Method | `stopConnecting` | If a connection attempt is still outstanding (i.e. no connection is yet established), immediately stop attempting to connect.
Instance Variable | `addressFamily` | The address family constant (`socket.AF_INET`, `socket.AF_INET6`, `socket.AF_UNIX`) of the underlying socket of this client connection.
Instance Variable | `reactor` | The class pointed to by `_commonConnection` should set this attribute in its constructor.
Instance Variable | `socketType` | The socket type constant (`socket.SOCK_STREAM` or `socket.SOCK_DGRAM`) of the underlying socket.
Method | `_finishInit` | Called by subclasses to continue to the stage of initialization where the socket connect attempt is made.
Method | `_setRealAddress` | Set the resolved address of this `_BaseBaseClient` and initiate the connection attempt.
Class Variable | `_commonConnection` | Subclasses must provide this attribute, which indicates the `Connection`-alike class to invoke `__init__` and `connectionLost` on.
Instance Variable | `_closeSocket` | Subclasses must implement in order to close the socket in response to a terminated connection attempt.
Instance Variable | `_requiresResolution` | A flag indicating whether the address of this client will require name resolution. `True` if the hostname of said address indicates a name that must be resolved by hostname lookup, `False` if it indicates an IP address literal.

Inherited from `Connection` (via `BaseClient`):

Method | `__init__` |
Method | `connectionLost` | See abstract.FileDescriptor.connectionLost().
Method | `doRead` | Calls self.protocol.dataReceived with all available data.
Method | `getHandle` | Return the socket for this connection.
Method | `getTcpKeepAlive` | Return if `SO_KEEPALIVE` is enabled.
Method | `getTcpNoDelay` | Return if `TCP_NODELAY` is enabled.
Method | `logPrefix` | Return the prefix to log with when I own the logging thread.
Method | `readConnectionLost` | Indicates read connection was lost.
Method | `setTcpKeepAlive` | Enable/disable `SO_KEEPALIVE`.
Method | `setTcpNoDelay` | Enable/disable `TCP_NODELAY`.
Method | `writeSomeData` | Write as much as possible of the given data to this TCP connection.
Instance Variable | `socket` | Undocumented
Method | `_closeWriteConnection` | Undocumented
Method | `_dataReceived` | Undocumented

Inherited from `_TLSConnectionMixin` (via `BaseClient`, `Connection`):

Constant | `TLS` | Undocumented

Inherited from `FileDescriptor` (via `BaseClient`, `Connection`):

Method | `doWrite` | Called when data can be written.
Method | `fileno` | File Descriptor number for select().
Method | `getHost` | Similar to getPeer, but returns an address describing this side of the connection.
Method | `getPeer` | Get the remote address of this connection.
Method | `loseConnection` | Close the connection at the next available opportunity.
Method | `loseWriteConnection` | Undocumented
Method | `pauseProducing` | Pause producing data.
Method | `resumeProducing` | Resume producing data.
Method | `startReading` | Start waiting for read availability.
Method | `startWriting` | Start waiting for write availability.
Method | `stopConsuming` | Stop consuming data.
Method | `stopProducing` | Stop producing data.
Method | `stopReading` | Stop waiting for read availability.
Method | `stopWriting` | Stop waiting for write availability.
Method | `write` | Reliably write some data.
Method | `writeConnectionLost` | Indicates write connection was lost.
Method | `writeSequence` | Reliably write a sequence of data.
Constant | `SEND_LIMIT` | Undocumented
Class Variable | `bufferSize` | Undocumented
Instance Variable | `dataBuffer` | Undocumented
Instance Variable | `disconnected` | Undocumented
Instance Variable | `disconnecting` | Undocumented
Instance Variable | `offset` | Undocumented
Instance Variable | `producer` | Undocumented
Instance Variable | `producerPaused` | Undocumented
Instance Variable | `reactor` | Undocumented
Method | `_isSendBufferFull` | Determine whether the user-space send buffer for this transport is full or not.
Method | `_maybePauseProducer` | Possibly pause a producer, if there is one and the send buffer is full.
Method | `_postLoseConnection` | Called after a loseConnection(), when all data has been written.
Instance Variable | `_tempDataBuffer` | Undocumented
Instance Variable | `_tempDataLen` | Undocumented
Instance Variable | `_writeDisconnected` | Undocumented
Instance Variable | `_writeDisconnecting` | Undocumented

Inherited from `_ConsumerMixin` (via `BaseClient`, `Connection`, `FileDescriptor`):

Method | `registerProducer` | Register to receive data from a producer.
Method | `unregisterProducer` | Stop consuming data from a producer, without disconnecting.
Instance Variable | `streamingProducer` | `bool` or `int`

Inherited from `_LogOwner` (via `BaseClient`, `Connection`, `FileDescriptor`):

Method | `_getLogPrefix` | Determine the log prefix to use for messages related to `applicationObject`, which may or may not be an `interfaces.ILoggingContext` provider.

Inherited from `_SocketCloser` (via `BaseClient`, `Connection`):

Method | `_closeSocket` | Undocumented
Instance Variable | `_shouldShutdown` | Set to `True` if `shutdown` should be called before calling `close` on the underlying socket.

Inherited from `_AbortingMixin` (via `BaseClient`, `Connection`):

Method | `abortConnection` | Aborts the connection immediately, dropping any buffered data.
Instance Variable | `doWrite` | Undocumented
Instance Variable | `_aborting` | Set to `True` when `abortConnection` is called.