2017-09-12 20:42:36 +00:00
<?xml version="1.0" encoding="UTF-8" ?>
2020-02-01 01:03:48 +00:00
<class name= "PacketPeerUDP" inherits= "PacketPeer" version= "4.0" >
2017-09-12 20:42:36 +00:00
<brief_description >
UDP packet peer.
</brief_description>
<description >
2017-10-21 10:33:50 +00:00
UDP packet peer. Can be used to send raw UDP packets as well as [Variant]s.
2017-09-12 20:42:36 +00:00
</description>
<tutorials >
</tutorials>
<methods >
<method name= "close" >
<return type= "void" >
</return>
<description >
2019-06-21 23:04:47 +00:00
Closes the UDP socket the [PacketPeerUDP] is currently listening on.
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_packet_ip" qualifiers= "const" >
<return type= "String" >
</return>
<description >
2019-05-24 02:15:43 +00:00
Returns the IP of the remote peer that sent the last packet(that was received with [method PacketPeer.get_packet] or [method PacketPeer.get_var]).
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "get_packet_port" qualifiers= "const" >
<return type= "int" >
</return>
<description >
2019-05-24 02:15:43 +00:00
Returns the port of the remote peer that sent the last packet(that was received with [method PacketPeer.get_packet] or [method PacketPeer.get_var]).
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "is_listening" qualifiers= "const" >
<return type= "bool" >
</return>
<description >
2019-05-24 02:15:43 +00:00
Returns whether this [PacketPeerUDP] is listening.
2017-09-12 20:42:36 +00:00
</description>
</method>
2019-06-20 09:36:32 +00:00
<method name= "join_multicast_group" >
<return type= "int" enum= "Error" >
</return>
<argument index= "0" name= "multicast_address" type= "String" >
</argument>
<argument index= "1" name= "interface_name" type= "String" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Joins the multicast group specified by [code]multicast_address[/code] using the interface identified by [code]interface_name[/code].
2019-06-20 09:36:32 +00:00
You can join the same multicast group with multiple interfaces. Use [method IP.get_local_interfaces] to know which are available.
2019-11-25 14:01:44 +00:00
Note: Some Android devices might require the [code]CHANGE_WIFI_MULTICAST_STATE[/code] permission for multicast to work.
2019-06-20 09:36:32 +00:00
</description>
</method>
<method name= "leave_multicast_group" >
<return type= "int" enum= "Error" >
</return>
<argument index= "0" name= "multicast_address" type= "String" >
</argument>
<argument index= "1" name= "interface_name" type= "String" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Removes the interface identified by [code]interface_name[/code] from the multicast group specified by [code]multicast_address[/code].
2019-06-20 09:36:32 +00:00
</description>
</method>
2017-09-12 20:42:36 +00:00
<method name= "listen" >
<return type= "int" enum= "Error" >
</return>
<argument index= "0" name= "port" type= "int" >
</argument>
<argument index= "1" name= "bind_address" type= "String" default= ""*"" >
</argument>
<argument index= "2" name= "recv_buf_size" type= "int" default= "65536" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Makes this [PacketPeerUDP] listen on the [code]port[/code] binding to [code]bind_address[/code] with a buffer size [code]recv_buf_size[/code].
If [code]bind_address[/code] is set to [code]"*"[/code] (default), the peer will listen on all available addresses (both IPv4 and IPv6).
If [code]bind_address[/code] is set to [code]"0.0.0.0"[/code] (for IPv4) or [code]"::"[/code] (for IPv6), the peer will listen on all available addresses matching that IP type.
If [code]bind_address[/code] is set to any valid address (e.g. [code]"192.168.1.101"[/code], [code]"::1"[/code], etc), the peer will only listen on the interface with that addresses (or fail if no interface with the given address exists).
2017-09-12 20:42:36 +00:00
</description>
</method>
2019-11-25 16:36:09 +00:00
<method name= "set_broadcast_enabled" >
<return type= "void" >
</return>
<argument index= "0" name= "enabled" type= "bool" >
</argument>
<description >
Enable or disable sending of broadcast packets (e.g. [code]set_dest_address("255.255.255.255", 4343)[/code]. This option is disabled by default.
2019-11-25 14:01:44 +00:00
Note: Some Android devices might require the [code]CHANGE_WIFI_MULTICAST_STATE[/code] permission and this option to be enabled to receive broadcast packets too.
2019-11-25 16:36:09 +00:00
</description>
</method>
2017-09-12 20:42:36 +00:00
<method name= "set_dest_address" >
<return type= "int" enum= "Error" >
</return>
<argument index= "0" name= "host" type= "String" >
</argument>
<argument index= "1" name= "port" type= "int" >
</argument>
<description >
2019-06-21 23:04:47 +00:00
Sets the destination address and port for sending packets and variables. A hostname will be resolved using DNS if needed.
2019-11-25 16:36:09 +00:00
Note: [method set_broadcast_enabled] must be enabled before sending packets to a broadcast address (e.g. [code]255.255.255.255[/code]).
2017-09-12 20:42:36 +00:00
</description>
</method>
<method name= "wait" >
<return type= "int" enum= "Error" >
</return>
<description >
2019-06-21 23:04:47 +00:00
Waits for a packet to arrive on the listening port. See [method listen].
2017-09-12 20:42:36 +00:00
</description>
</method>
</methods>
<constants >
</constants>
</class>