Internet protocol (IP) support functions such as DNS resolution.
    public static class IP

IP contains support functions for the Internet Protocol (IP). TCP/IP support is in different classes (see StreamPeerTCP and TCP_Server). IP provides DNS hostname resolution support, both blocking and threaded.

Inheritance Chain

Static Fields

    public const Int32 ResolverInvalidId = -1

    public const Int32 ResolverMaxQueries = 32

Static Properties

    public static Object Singleton { get; }

Static Methods

    public static void ClearCache(string hostname = "")

Removes all of a hostname’s cached references. If no hostname is given, all cached IP addresses are removed.

    public static void EraseResolveItem(int id)

Removes a given item id from the queue. This should be used to free a queue after it has completed to enable more queries to happen.

    public static Godot.Collections.Array GetLocalAddresses()

Returns all of the user’s current IPv4 and IPv6 addresses as an array.

    public static Godot.Collections.Array GetLocalInterfaces()

Returns all network adapters as an array.

Each adapter is a dictionary of the form:



“index”: “1”, # Interface index.

“name”: “eth0”, # Interface name.

“friendly”: “Ethernet One”, # A friendly name (might be empty).

“addresses”: [“”], # An array of IP addresses associated to this interface.



    public static string GetResolveItemAddress(int id)

Returns a queued hostname’s IP address, given its queue id. Returns an empty string on error or if resolution hasn’t happened yet (see GetResolveItemStatus(int)).

    public static ResolverStatus GetResolveItemStatus(int id)

Returns a queued hostname’s status as a RESOLVER_STATUS_* constant, given its queue id.

    public static string ResolveHostname(string host, Type ipType = Type.Any)

Returns a given hostname’s IPv4 or IPv6 address when resolved (blocking-type method). The address type returned depends on the TYPE_* constant given as ipType.

    public static int ResolveHostnameQueueItem(string host, Type ipType = Type.Any)

Creates a queue item to resolve a hostname to an IPv4 or IPv6 address depending on the TYPE_* constant given as ipType. Returns the queue ID if successful, or [constant RESOLVER_INVALID_ID] on error.

Inner Types


Name Value Description
None 0 DNS hostname resolver status: No status.
Waiting 1 DNS hostname resolver status: Waiting.
Done 2 DNS hostname resolver status: Done.
Error 3 DNS hostname resolver status: Error.


Name Value Description
None 0 Address type: None.
Ipv4 1 Address type: Internet protocol version 4 (IPv4).
Ipv6 2 Address type: Internet protocol version 6 (IPv6).
Any 3 Address type: Any.