getaddrinfo

getaddrinfo

refe

 Socket.getaddrinfo
 --- Socket.getaddrinfo(nodename, servname[, family[, socktype[, protocol[, flags)
 
     RFC:2553で定義された
     getaddrinfo()の機能を提供するクラスメソッド。この関数gethostbyname()やgetservbyname()の代わりとして用意されており、
     IPのバージョンに依存しないプログラムを書くための標準的なAPIです。
 
     アドレス情報の配列を返します。アドレス情報とは7つの要素からなる次の
     形の配列です。
 
       * 第0要素 - アドレスファミリー(String)。
       * 第1要素 - ポート番号(Integer)。
       * 第2要素 - ホスト名(String)。
       * 第3要素 - アドレス(String)。
       * 第4要素 - アドレスファミリーに対応するInteger* 第5要素 - ソケットタイプに対応するInteger* 第6要素 - プロトコルに対応するInteger。
 
     必須引数の意味は以下の通りです。
 
       * nodename - ホスト名。
         (ホスト定形式を参照)
       * servname - サービス名。
         (サービス定形式を参照)
 
     残りの引数は省略可能です。
 
       * family - アドレスファミリーSocket::AF_INET など、
         アドレスファミリーにある定数を指定します。
       * socktype - ソケットタイプ。
         Socket::SOCK_STREAM など、
         ソケットタイプにある定数を指定します。
       * protocol - プロトコルSocket::IPPROTO_IP など、
         プロトコルにある定数を指定します。
       * flags - getaddrinfo(3)の第3引数に指定するaddrinfo構造体の
         ai_flags メンバに相当するFixnumSocket::AI_PASSIVE、
         Socket::AI_CANONNAME、
         Socket::AI_NUMERICHOST
         が用意されている場合があります。
 
     引数に指定できる定数の意味については
     getaddrinfo(3) [manual page] を参照して下さい。