2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2022-02-14 14:18:53 +01:00
<class name= "StreamPeerTCP" inherits= "StreamPeer" version= "4.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-12 22:42:36 +02:00
<brief_description >
2019-06-22 01:04:47 +02:00
TCP stream peer.
2017-09-12 22:42:36 +02:00
</brief_description>
<description >
2019-06-22 01:04:47 +02:00
TCP stream peer. This object can be used to connect to TCP servers, or also is returned by a TCP server.
2021-08-10 17:47:09 +02:00
[b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] 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.
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
</tutorials>
<methods >
2021-03-21 11:15:30 +01:00
<method name= "bind" >
2021-07-30 15:28:05 +02:00
<return type= "int" enum= "Error" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "port" type= "int" />
<param index= "1" name= "host" type= "String" default= ""*"" />
2021-03-21 11:15:30 +01:00
<description >
Opens the TCP socket, and binds it to the specified local address.
2022-08-10 04:00:19 +02:00
This method is generally not needed, and only used to force the subsequent call to [method connect_to_host] to use the specified [param host] and [param port] as source address. This can be desired in some NAT punchthrough techniques, or when forcing the source network interface.
2021-03-21 11:15:30 +01:00
</description>
</method>
2017-09-12 22:42:36 +02:00
<method name= "connect_to_host" >
2021-07-30 15:28:05 +02:00
<return type= "int" enum= "Error" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "host" type= "String" />
<param index= "1" name= "port" type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2021-03-21 11:15:30 +01:00
Connects to the specified [code]host:port[/code] pair. A hostname will be resolved if valid. Returns [constant OK] on success.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "disconnect_from_host" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-22 01:04:47 +02:00
Disconnects from host.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_connected_host" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "String" />
2017-09-12 22:42:36 +02:00
<description >
2019-05-24 04:15:43 +02:00
Returns the IP of this peer.
2017-09-12 22:42:36 +02:00
</description>
</method>
<method name= "get_connected_port" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" />
2017-09-12 22:42:36 +02:00
<description >
2019-05-24 04:15:43 +02:00
Returns the port of this peer.
2017-09-12 22:42:36 +02:00
</description>
</method>
2021-03-21 11:15:30 +01:00
<method name= "get_local_port" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" />
2021-03-21 11:15:30 +01:00
<description >
Returns the local port to which this peer is bound.
</description>
</method>
2022-03-27 15:30:17 +02:00
<method name= "get_status" qualifiers= "const" >
2021-07-30 15:28:05 +02:00
<return type= "int" enum= "StreamPeerTCP.Status" />
2017-09-12 22:42:36 +02:00
<description >
2019-06-27 11:44:37 +02:00
Returns the status of the connection, see [enum Status].
2017-09-12 22:42:36 +02:00
</description>
</method>
2022-03-27 15:30:17 +02:00
<method name= "poll" >
<return type= "int" enum= "Error" />
<description >
Poll the socket, updating its state. See [method get_status].
</description>
</method>
2018-02-19 10:47:16 +01:00
<method name= "set_no_delay" >
2021-07-30 15:28:05 +02:00
<return type= "void" />
2022-08-06 20:11:48 +02:00
<param index= "0" name= "enabled" type= "bool" />
2018-02-19 10:47:16 +01:00
<description >
2022-08-10 04:00:19 +02:00
If [param enabled] is [code]true[/code], packets will be sent immediately. If [param enabled] is [code]false[/code] (the default), packet transfers will be delayed and combined using [url=https://en.wikipedia.org/wiki/Nagle%27s_algorithm]Nagle's algorithm[/url].
2020-11-26 22:25:02 +01:00
[b]Note:[/b] 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.
2018-02-19 10:47:16 +01:00
</description>
</method>
2017-09-12 22:42:36 +02:00
</methods>
<constants >
2017-11-24 23:16:30 +01:00
<constant name= "STATUS_NONE" value= "0" enum= "Status" >
2019-06-22 01:04:47 +02:00
The initial status of the [StreamPeerTCP]. This is also the status after disconnecting.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "STATUS_CONNECTING" value= "1" enum= "Status" >
2019-03-29 23:37:35 +01:00
A status representing a [StreamPeerTCP] that is connecting to a host.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "STATUS_CONNECTED" value= "2" enum= "Status" >
2019-03-29 23:37:35 +01:00
A status representing a [StreamPeerTCP] that is connected to a host.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "STATUS_ERROR" value= "3" enum= "Status" >
2019-03-29 23:37:35 +01:00
A status representing a [StreamPeerTCP] in error state.
2017-09-12 22:42:36 +02:00
</constant>
</constants>
</class>