Ruby 2.5.0 リファレンスマニュアル > ライブラリ一覧 > socketライブラリ > Addrinfoクラス

class Addrinfo

クラス・モジュールの継承リスト: Addrinfo < Object < Kernel < BasicObject

要約

ソケットのアドレス情報を保持するクラスです。

ホスト/ポート番号/プロトコルなどを同定するために用いられます。 IPv4/IPv6/Unix domain socketなどのアドレス情報を保持することができます。

struct addrinfo に対応します。

特異メソッド

定義 説明
foreach(nodename, service, family=nil, socktype=nil, protocol=nil, flags=0) -> Enumerator
foreach(nodename, service, family=nil, socktype=nil, protocol=nil, flags=0) {|addrinfo| ... } -> [Addrinfo]

Addrinfo.getaddrinfo で得られる配列の各要素を繰り返します。

getaddrinfo(nodename, service, family=nil, socktype=nil, protocol=nil, flags=0) -> [Addrinfo]

パラメータから複数の Addrinfo オブジェクトを生成し、その配列を返します。

ip(host) -> Addrinfo

IP アドレスに対する Addrinfo オブジェクトを返します。

new(sockaddr, family=Socket::PF_UNSPEC, socktype=0, protocol=0) -> Addrinfo

新たな Addrinfo オブジェクトを返します。

tcp(host, port) -> Addrinfo

TCP アドレスに対する Addrinfo オブジェクトを返します。

udp(host, port) -> Addrinfo

UDP アドレスに対する Addrinfo オブジェクトを返します。

unix(path, socktype=Socket::SOCK_STREAM) -> Addrinfo

Unix ソケットアドレスに対応する Addrinfo オブジェクトを返します。

インスタンスメソッド

定義 説明
afamily -> Integer

アドレスファミリーを整数で返します。

bind -> Socket
bind {|sock| ... } -> object

自身のアドレスにバインドされたソケットを作成します。

canonname -> String|nil

カノニカル名を文字列で返します。

connect -> Socket
connect {|sock| ... } -> object

自身のアドレスへソケットを接続します。

connect_from(host, port) -> Socket
connect_from(host, port) {|sock| ... } -> object

引数で指定されたアドレスから自身のアドレスへソケットを接続します。

connect_to(host, port) -> Socket
connect_to(host, port) {|sock| ... } -> object

自身のアドレスから指定したホストへソケット接続します。

family_addrinfo(host, port) -> Addrinfo
family_addrinfo(path) -> Addrinfo

引数から自身に「似た」Addrinfo オブジェクトを生成します。

getnameinfo(flags=0) -> [String, String]

ノード名とサービスを文字列の配列で返します。

inspect_sockaddr -> String

アドレスやポート番号などの情報を人間に読める形の文字列で返します。

ip? -> bool

アドレスが IP (v4/v6) のものならば true を返します。

ip_address -> String

IP アドレスを文字列で返します。

ip_port -> Integer

ポート番号を整数で返します。

ip_unpack -> [String, Integer]

IP アドレスとポート番号を 2 要素の配列で返します。

ipv4? -> bool

アドレスが IPv4 のものならば true を返します。

ipv4_loopback? -> bool

IPv4 のループバックアドレス(127.0.0.0/8) であれば真を返します。

ipv4_multicast? -> bool

IPv4 のマルチキャストアドレス(224.0.0.0/4)であれば真を返します。

ipv4_private? -> bool

IPv4 のプライベートアドレス(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) であれば真を返します。

ipv6? -> bool

アドレスが IPv6 のものならば true を返します。

ipv6_linklocal? -> bool

IPv6 のリンクローカルアドレス(fe80::/10, [RFC4291])であれば真を返します。

ipv6_loopback? -> bool

IPv6 のループバックアドレス(::1)であれば真を返します。

ipv6_mc_global? -> bool

IPv6 のマルチキャスト(グローバルスコープ) アドレスであれば真を返します。

ipv6_mc_linklocal? -> bool

IPv6 のマルチキャスト(リンクローカルスコープ)アドレスであれば真を返します。

ipv6_mc_nodelocal? -> bool

IPv6 のマルチキャスト(ノードローカルスコープ)アドレスであれば真を返します。

ipv6_mc_orglocal? -> bool

IPv6 のマルチキャスト(組織(organization)ローカルスコープ) アドレスであれば真を返します。

ipv6_mc_sitelocal? -> bool

IPv6 のマルチキャスト(サイトローカルスコープ)アドレスであれば真を返します。

ipv6_multicast? -> bool

IPv6 のマルチキャストアドレス(ff00::/8)であれば真を返します。

ipv6_sitelocal? -> bool

IPv6 のサイトローカルアドレス(fec0::/10, [RFC3513])であれば真を返します。

ipv6_to_ipv4 -> Addrinfo|nil

IPv6 の v4 マップド/互換アドレスを v4 のアドレスに変換します。

ipv6_unique_local? -> bool

IPv6 のユニークローカルアドレス(fc00::/7, [RFC4193])であれば真を返します。

ipv6_unspecified? -> bool

IPv6 の不特定アドレス(unspecified address)(::)であれば真を返します。

ipv6_v4compat? -> bool

IPv6 の v4互換アドレス(::/80)であれば真を返します。

ipv6_v4mapped? -> bool

IPv6 の v4にマップされたアドレス(::ffff:0:0/80)であれば真を返します。

listen(backlog=5) -> Socket
listen(backlog=5) {|sock| ... } -> object

自身のアドレスにバインドされたソケットを作成し、 listen(2) を実行します。

pfamily -> Integer

プロトコルファミリーを整数で返します。

protocol -> Integer

ソケットプロトコルを整数で返します。

socktype -> Integer

ソケットタイプを整数で返します。

to_sockaddr -> String
to_s -> String

struct sockaddr をパックした形式の文字列に変換します。

unix? -> bool

アドレスが Unix domain socket のものならば true を返します。

unix_path -> String

Unix domain socket の path を文字列で返します。

継承したメソッド

! != __id__ __send__ instance_eval instance_exec method_missing singleton_method_added singleton_method_removed singleton_method_undefined !~ <=> == === =~ _dump class clone define_singleton_method display enum_for eql? equal? extend freeze frozen? hash initialize initialize_copy inspect instance_of? instance_variable_defined? instance_variable_get instance_variable_set instance_variables is_a? itself marshal_dump marshal_load method methods nil? object_id pretty_inspect pretty_print pretty_print_cycle pretty_print_inspect pretty_print_instance_variables private_methods protected_methods psych_to_yaml public_method public_methods public_send remove_instance_variable respond_to? respond_to_missing? send singleton_class singleton_method singleton_methods taint tainted? tap to_a to_ary to_hash to_int to_io to_proc to_regexp to_str trust untaint untrust untrusted? yield_self .yaml_tag ::ARGF ::ARGV ::DATA ::ENV ::FALSE ::NIL ::RUBY_COPYRIGHT ::RUBY_DESCRIPTION ::RUBY_ENGINE ::RUBY_ENGINE_VERSION ::RUBY_PATCHLEVEL ::RUBY_PLATFORM ::RUBY_RELEASE_DATE ::RUBY_REVISION ::RUBY_VERSION ::SCRIPT_LINES__ ::STDERR ::STDIN ::STDOUT ::TOPLEVEL_BINDING ::TRUE