PacketPeerUDP

UDP packet peer.

Can be used to send raw UDP packets as well as Variants.

Members

Aliases

BaseClasses
alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses)
Undocumented in source.

Functions

close
void close()

Closes the UDP socket the PacketPeerUDP is currently listening on.

connectToHost
GodotError connectToHost(String host, long 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 setDestAddress are not allowed). This method does not send any data to the remote peer, to do that, use PacketPeer.putVar or PacketPeer.putPacket 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 SSL or DTLS if you feel like your application is transferring sensitive information.

getPacketIp
String getPacketIp()

Returns the IP of the remote peer that sent the last packet(that was received with PacketPeer.getPacket or PacketPeer.getVar).

getPacketPort
long getPacketPort()

Returns the port of the remote peer that sent the last packet(that was received with PacketPeer.getPacket or PacketPeer.getVar).

isConnectedToHost
bool isConnectedToHost()

Returns true if the UDP socket is open and has been connected to a remote address. See connectToHost.

isListening
bool isListening()

Returns whether this PacketPeerUDP is listening.

joinMulticastGroup
GodotError joinMulticastGroup(String multicast_address, String interface_name)

Joins the multicast group specified by multicast_address using the interface identified by interface_name. You can join the same multicast group with multiple interfaces. Use IP.getLocalInterfaces to know which are available. Note: Some Android devices might require the CHANGE_WIFI_MULTICAST_STATE permission for multicast to work.

leaveMulticastGroup
GodotError leaveMulticastGroup(String multicast_address, String interface_name)

Removes the interface identified by interface_name from the multicast group specified by multicast_address.

listen
GodotError listen(long port, String bind_address, long recv_buf_size)

Makes this PacketPeerUDP listen on the port binding to bind_address with a buffer size recv_buf_size. If bind_address is set to "*" (default), the peer will listen 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 listen on 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 listen on the interface with that addresses (or fail if no interface with the given address exists).

opAssign
typeof(null) opAssign(typeof(null) n)
opEquals
bool opEquals(PacketPeerUDP other)
opEquals
bool opEquals(typeof(null) n)
setBroadcastEnabled
void setBroadcastEnabled(bool enabled)

Enable or disable sending of broadcast packets (e.g. set_dest_address("255.255.255.255", 4343). This option is disabled by default. Note: Some Android devices might require the CHANGE_WIFI_MULTICAST_STATE permission and this option to be enabled to receive broadcast packets too.

setDestAddress
GodotError setDestAddress(String host, long port)

Sets the destination address and port for sending packets and variables. A hostname will be resolved using DNS if needed. Note: setBroadcastEnabled must be enabled before sending packets to a broadcast address (e.g. 255.255.255.255).

toHash
size_t toHash()
wait
GodotError wait()

Waits for a packet to arrive on the listening port. See listen. Note: wait can't be interrupted once it has been called. This can be worked around by allowing the other party to send a specific "death pill" packet like this:

Mixins

__anonymous
mixin baseCasts
Undocumented in source.

Static functions

_new
PacketPeerUDP _new()

Construct a new instance of PacketPeerUDP. Note: use memnew!PacketPeerUDP instead.

Static variables

_classBindingInitialized
bool _classBindingInitialized;
Undocumented in source.

Structs

GDNativeClassBinding
struct GDNativeClassBinding
Undocumented in source.

Unions

__anonymous
union __anonymous
Undocumented in source.

Variables

_GODOT_internal_name
enum string _GODOT_internal_name;
Undocumented in source.

Mixed In Members

From mixin baseCasts

as
inout(To) as()
Undocumented in source. Be warned that the author may not have intended to support it.
as
inout(To) as()
Undocumented in source. Be warned that the author may not have intended to support it.
as
inout(ToRef) as()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
template opCast(To)
Undocumented in source.
opCast
template opCast(To)
Undocumented in source.
opCast
template opCast(ToRef)
Undocumented in source.
opCast
void* opCast()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
godot_object opCast()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
bool opCast()
Undocumented in source. Be warned that the author may not have intended to support it.

Meta