StreamPeerTCP¶
Inherits: StreamPeer < RefCounted < Object
A stream peer that handles TCP connections.
Description¶
A stream peer that handles TCP connections. 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¶
connect_to_host ( String host, int port ) |
|
void |
|
get_connected_host ( ) const |
|
get_connected_port ( ) const |
|
get_local_port ( ) const |
|
get_status ( ) const |
|
poll ( ) |
|
void |
set_no_delay ( bool enabled ) |
Enumerations¶
enum Status:
Status STATUS_NONE = 0
The initial status of the StreamPeerTCP. This is also the status after disconnecting.
Status STATUS_CONNECTING = 1
A status representing a StreamPeerTCP that is connecting to a host.
Status STATUS_CONNECTED = 2
A status representing a StreamPeerTCP that is connected to a host.
Status STATUS_ERROR = 3
A status representing a StreamPeerTCP in error state.
Method Descriptions¶
Error bind ( int port, String host="*" )
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.
Error connect_to_host ( String host, int port )
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.
Status get_status ( ) const
Returns the status of the connection, see Status.
Error poll ( )
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.