Skip to content
class method

Socket.getnameinfo

([ ::String, ::Integer, ::String ]) -> ::Array[::String]
([ ::String, ::Integer, ::String, ::String ]) -> ::Array[::String]
(::String sockaddr) -> ::Array[::String]
Socket.getnameinfo(sockaddr [, flags]) => [hostname, servicename]

Obtains name information for sockaddr.

sockaddr should be one of follows.

  • packed sockaddr string such as Socket.sockaddr_in(80, “127.0.0.1”)

  • 3-elements array such as [“AF_INET”, 80, “127.0.0.1”]

  • 4-elements array such as [“AF_INET”, 80, ignored, “127.0.0.1”]

flags should be bitwise OR of Socket::NI_* constants.

Note: The last form is compatible with IPSocket#addr and IPSocket#peeraddr.

Example
Socket.getnameinfo(Socket.sockaddr_in(80, "127.0.0.1"))       #=> ["localhost", "www"]
Socket.getnameinfo(["AF_INET", 80, "127.0.0.1"])              #=> ["localhost", "www"]
Socket.getnameinfo(["AF_INET", 80, "localhost", "127.0.0.1"]) #=> ["localhost", "www"]

If Addrinfo object is preferred, use Addrinfo#getnameinfo.