tcp#

class platypush.plugins.tcp.TcpPlugin(**kwargs)[source]#

Bases: Plugin

Plugin for raw TCP communications.

__init__(**kwargs)[source]#
close(host: str, port: int)[source]#

Close an active TCP connection.

Parameters:
  • host – Host IP/name.

  • port – TCP port.

connect(host: str, port: int, timeout: float | None = None)[source]#

Open a TCP connection.

Parameters:
  • host – Host IP/name.

  • port – TCP port.

  • timeout – Connection timeout in seconds (default: None).

recv(length: int, host: str, port: int, binary: bool = False, timeout: float | None = None) str[source]#

Receive data from a TCP connection. If the connection isn’t active it will be created.

Parameters:
  • length – Maximum number of bytes to be received.

  • host – Host IP/name.

  • port – TCP port.

  • binary – If set to True then the output will be base64-encoded, otherwise decoded as string.

  • timeout – Connection timeout in seconds (default: None).

send(data: bytes | str, host: str, port: int, binary: bool = False, timeout: float | None = None, recv_response: bool = False, **recv_opts)[source]#

Send data over a TCP connection. If the connection isn’t active it will be created.

Parameters:
  • data – Data to be sent, as bytes or string.

  • host – Host IP/name.

  • port – TCP port.

  • binary – If set to True and data is a string then will be treated as base64-encoded binary input.

  • timeout – Connection timeout in seconds (default: None).

  • recv_response – If True then the action will wait for a response from the server before closing the connection. Note that recv_opts must be specified in this case - at least length.