StreamPeerTCP

Inherits: StreamPeer < RefCounted < Object

TCP stream peer.

Description

TCP stream peer. This object can be used to connect to TCP servers, or also is returned by a TCP server.

Note: When exporting to Android, make sure to enable the INTERNET permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android.

Methods

Error

bind ( int port, String host="*" )

Error

connect_to_host ( String host, int port )

void

disconnect_from_host ( )

String

get_connected_host ( ) const

int

get_connected_port ( ) const

int

get_local_port ( ) const

Status

get_status ( ) const

Error

poll ( )

void

set_no_delay ( bool enabled )

Enumerations

enum Status:

  • STATUS_NONE = 0 --- The initial status of the StreamPeerTCP. This is also the status after disconnecting.

  • STATUS_CONNECTING = 1 --- A status representing a StreamPeerTCP that is connecting to a host.

  • STATUS_CONNECTED = 2 --- A status representing a StreamPeerTCP that is connected to a host.

  • STATUS_ERROR = 3 --- A status representing a StreamPeerTCP in error state.

Method Descriptions

Opens the TCP socket, and binds it to the specified local address.

This method is generally not needed, and only used to force the subsequent call to connect_to_host to use the specified host and port as source address. This can be desired in some NAT punchthrough techniques, or when forcing the source network interface.


Connects to the specified host:port pair. A hostname will be resolved if valid. Returns @GlobalScope.OK on success.


  • void disconnect_from_host ( )

Disconnects from host.


  • String get_connected_host ( ) const

Returns the IP of this peer.


  • int get_connected_port ( ) const

Returns the port of this peer.


  • int get_local_port ( ) const

Returns the local port to which this peer is bound.


Returns the status of the connection, see Status.


Poll the socket, updating its state. See get_status.


  • void set_no_delay ( bool enabled )

If enabled is true, packets will be sent immediately. If enabled is false (the default), packet transfers will be delayed and combined using Nagle's algorithm.

Note: It's recommended to leave this disabled for applications that send large packets or need to transfer a lot of data, as enabling this can decrease the total available bandwidth.