Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
PacketPeerUDP¶
Inherits: PacketPeer < RefCounted < Object
UDP packet peer.
Description¶
UDP packet peer. Can be used to send raw UDP packets as well as Variants.
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¶
bind ( int port, String bind_address="*", int recv_buf_size=65536 ) |
|
void |
close ( ) |
connect_to_host ( String host, int port ) |
|
get_local_port ( ) const |
|
get_packet_ip ( ) const |
|
get_packet_port ( ) const |
|
is_bound ( ) const |
|
is_socket_connected ( ) const |
|
join_multicast_group ( String multicast_address, String interface_name ) |
|
leave_multicast_group ( String multicast_address, String interface_name ) |
|
void |
set_broadcast_enabled ( bool enabled ) |
set_dest_address ( String host, int port ) |
|
wait ( ) |
Method Descriptions¶
Error bind ( int port, String bind_address="*", int recv_buf_size=65536 )
Binds this PacketPeerUDP to the specified port
and bind_address
with a buffer size recv_buf_size
, allowing it to receive incoming packets.
If bind_address
is set to "*"
(default), the peer will be bound on all available addresses (both IPv4 and IPv6).
If bind_address
is set to "0.0.0.0"
(for IPv4) or "::"
(for IPv6), the peer will be bound to all available addresses matching that IP type.
If bind_address
is set to any valid address (e.g. "192.168.1.101"
, "::1"
, etc), the peer will only be bound to the interface with that addresses (or fail if no interface with the given address exists).
void close ( )
Closes the PacketPeerUDP's underlying UDP socket.
Error connect_to_host ( String host, int port )
Calling this method connects this UDP peer to the given host
/port
pair. UDP is in reality connectionless, so this option only means that incoming packets from different addresses are automatically discarded, and that outgoing packets are always sent to the connected address (future calls to set_dest_address are not allowed). This method does not send any data to the remote peer, to do that, use PacketPeer.put_var or PacketPeer.put_packet as usual. See also UDPServer.
Note: Connecting to the remote peer does not help to protect from malicious attacks like IP spoofing, etc. Think about using an encryption technique like TLS or DTLS if you feel like your application is transferring sensitive information.
int get_local_port ( ) const
Returns the local port to which this peer is bound.
String get_packet_ip ( ) const
Returns the IP of the remote peer that sent the last packet(that was received with PacketPeer.get_packet or PacketPeer.get_var).
int get_packet_port ( ) const
Returns the port of the remote peer that sent the last packet(that was received with PacketPeer.get_packet or PacketPeer.get_var).
bool is_bound ( ) const
Returns wheth