LuaSocket
Network support for the Lua language

home · download · installation · introduction · reference


DNS

IPv4 name resolution functions dns.toip and dns.tohostname return all information obtained from the resolver in a table of the form:

resolved4 = {
  name = canonic-name,
  alias = alias-list,
  ip = ip-address-list
}

Note that the alias list can be empty.

The more general name resolution function dns.getaddrinfo, which supports both IPv6 and IPv4, returns all information obtained from the resolver in a table of the form:

resolved6 = {
  [1] = {
    family = family-name-1,
    addr = address-1
  },
  ...
  [n] = {
    family = family-name-n,
    addr = address-n
  }
}

Here, family contains the string "inet" for IPv4 addresses, and "inet6" for IPv6 addresses.

socket.dns.getaddrinfo(address)

Converts from host name to address.

Address can be an IPv4 or IPv6 address or host name.

The function returns a table with all information returned by the resolver. In case of error, the function returns nil followed by an error message.

socket.dns.gethostname()

Returns the standard host name for the machine as a string.

socket.dns.tohostname(address)

Converts from IPv4 address to host name.

Address can be an IP address or host name.

The function returns a string with the canonic host name of the given address, followed by a table with all information returned by the resolver. In case of error, the function returns nil followed by an error message.

socket.dns.toip(address)

Converts from host name to IPv4 address.

Address can be an IP address or host name.

Returns a string with the first IP address found for address, followed by a table with all information returned by the resolver. In case of error, the function returns nil followed by an error message.