PacketPeerUDP

Inherits: PacketPeer < Reference < Object UDP packet peer.

Description

Variants.

Methods

Method Descriptions

  • close ( ) PacketPeerUDP is currently listening on.

  • Error connect_to_host ( String host, int port ) 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 SSL or DTLS if you feel like your application is transferring sensitive information.

  • String get_packet_ip ( ) const PacketPeer.get_packet or PacketPeer.get_var).

  • int get_packet_port ( ) const PacketPeer.get_packet or PacketPeer.get_var).

  • bool is_connected_to_host ( ) const true if the UDP socket is open and has been connected to a remote address. See connect_to_host.

  • bool is_listening ( ) const PacketPeerUDP is listening.

  • Error join_multicast_group ( String multicast_address, String interface_name ) multicast_address using the interface identified by interface_name. IP.get_local_interfaces to know which are available. Note: Some Android devices might require the CHANGE_WIFI_MULTICAST_STATE permission for multicast to work.

  • Error leave_multicast_group ( String multicast_address, String interface_name ) interface_name from the multicast group specified by multicast_address.

  • Error listen ( int port, String bind_address=”“, int recv_buf_size=65536 ) PacketPeerUDP listen on the port binding to bind_address with a buffer size recv_buf_size. bind_address is set to `”(default), the peer will listen on all available addresses (both IPv4 and IPv6).bind_addressis set to“0.0.0.0”(for IPv4) or“::”(for IPv6), the peer will listen on all available addresses matching that IP type.bind_addressis 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).

  • set_broadcast_enabled ( bool enabled ) 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.

  • Error set_dest_address ( String host, int port ) Sets the destination address and port for sending packets and variables. A hostname will be resolved using DNS if needed. Note: set_broadcast_enabled must be enabled before sending packets to a broadcast address (e.g. 255.255.255.255).

  • Error wait ( ) 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:
    1. # Serversocket.set_dest_address("127.0.0.1", 789)socket.put_packet("Time to stop".to_ascii())# Clientwhile socket.wait() == OK: var data = socket.get_packet().get_string_from_ascii() if data == "Time to stop": return