UDPServer

    Helper class to implement a UDP server.

    A simple server that opens a UDP socket and returns connected upon receiving new packets. See also PacketPeerUDP.connect_to_host.

    After starting the server (), you will need to poll it at regular intervals (e.g. inside ) for it to process new packets, delivering them to the appropriate PacketPeerUDP, and taking new connections.

    1. extends Node
    2. var connected = false
    3. func _ready():
    4. func _process(delta):
    5. if !connected:
    6. # Try to contact server
    7. if udp.get_available_packet_count() > 0:
    8. connected = true
    • max_pending_connections

    Define the maximum number of pending connections, during poll, any new pending connection exceeding that value will be automatically dropped. Setting this value to 0 effectively prevents any new pending connection to be accepted (e.g. when all your players have connected).

    • is_connection_available ( ) const

    Returns true if a packet with a new address/port combination was received on the socket.


    • bool is_listening ( ) const

    Returns true if the socket is open and listening on a port.


    • listen ( int port, bind_address=”*“ )

    Call this method at regular intervals (e.g. inside ) to process new packets. And packet from known address/port pair will be delivered to the appropriate PacketPeerUDP, any packet received from an unknown address/port pair will be added as a pending connection (see , take_connection). The maximum number of pending connection is defined via .


    Stops the server, closing the UDP socket if open. Will close all connected PacketPeerUDP accepted via (remote peers will not be notified).


    Returns the first pending connection (connected to the appropriate address/port). Will return null if no new connection is available. See also , PacketPeerUDP.connect_to_host.