るりまサーチ

最速Rubyリファレンスマニュアル検索!
69件ヒット [1-69件を表示] (0.013秒)
トップページ > クエリ:lang[x] > クエリ:gethostbyname[x]

別のキーワード

  1. net/ftp lang
  2. mlsxentry lang
  3. lang net/ftp
  4. lang
  5. lang net::ftp::mlsxentry

ライブラリ

クラス

モジュール

キーワード

検索結果

Socket.gethostbyname(host) -> Array (18119.0)

ホスト名または IP アドレス(指定方法に関しては lib:socket#host_formatを参照) からホストの情報を返します。

...きます。

=== 使用例

irb(main):009:0> require 'socket'

irb(main):009:0> Socket.gethostbyname("210.251.121.214")
["helium.ruby-lang.org", ["helium"], 2, "\322\373y\326"]

irb(main):009:0> Socket.unpack_sockaddr_in(Socket.gethostbyname("210.251.121.214")[3])[1]
"210.251.121.214"...

TCPSocket.gethostbyname(host) -> Array (18119.0)

ホスト名または IP アドレス (整数または"127.0.0.1" のような文字列)からホストの情報を返します。ホスト情報は、ホ スト名、ホストの別名の配列、ホストのアドレスタイプ、ホストの アドレスを各要素とする配列です。ホストのアドレスは octet decimal の文字列 ("127.0.0.1"のような文字列) や IPv6 アドレス ("::1" のような文字列) です。

...

@return ホスト名、ホストの別名の配列、ホストのアドレスタイプ、ホストのアドレスを各要素とする配列を返します。

例:

require 'socket'

p TCPSocket.gethostbyname("www.ruby-lang.org")
#=> ["beryllium.ruby-lang.org", [], 2, "210.163.138.100"]...

socket (72.0)

socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。

...y-lang.org", "http") => [#<Addrinfo: 221.186.184.68:80 TCP (www.ruby-lang.org:http)>]
* IPSocket.getaddress("www.ruby-lang.org") => "210.163.138.100"
* TCPSocket.gethostbyname("www.ruby-lang.org") => ["beryllium.ruby-lang.org", [], 2, "210.163.138.100"]
* Socket.gethostbyname("www.ruby-lang.o...
...rg") => ["beryllium.ruby-lang.org", [], 2, "\322\243\212d"]
* Socket.getaddrinfo("www.ruby-lang.org", "http") => [["AF_INET", 80, "beryllium.ruby-lang.org", "210.163.138.100", 2, 1, 6]]

逆に IP アドレスからホスト名への変換 (逆引き) を行うメソッドは以下のものが用...
...意されています。

* Socket.getnameinfo([nil, nil, nil, "210.163.138.100"]) => ["beryllium.ruby-lang.org", 0]
* Addrinfo#getnameinfo Addrinfo.ip("127.0.0.1").getnameinfo => ["localhost", "0"]


また、resolv ライブラリも使用できます。...

Socket.getaddrinfo(nodename, servname, family=nil, socktype=nil, protocol=nil, flags=nil) -> Array (40.0)

2553で定義された getaddrinfo() の機能を提供するクラスメソッド。この関数は gethostbyname() や getservbyname() の代わりとして用意されており、 IP のバージョンに依存しないプログラムを書くための標準的な API です。

...2553で定義された
getaddrinfo() の機能を提供するクラスメソッド。この関数は
gethostbyname
() や getservbyname() の代わりとして用意されており、
IP のバージョンに依存しないプログラムを書くための標準的な API です。

@param nodename...
...ium.ruby-lang.org", "210.251.121.214", 2, 1, 6]]

pp Socket.getaddrinfo(Socket.gethostname, nil)
#=> [["AF_INET", 0, "helium.ruby-lang.org", "210.251.121.214", 2, 1, 6],
# ["AF_INET", 0, "helium.ruby-lang.org", "210.251.121.214", 2, 2, 17],
# ["AF_INET", 0, "helium.ruby-lang.org", "2...

Timeout.#timeout(sec, exception_class = nil) {|i| ... } -> object (30.0)

ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。

...の処理を Ruby で実装しなおすか C 側で Ruby
のスレッドを意識してあげる必要があります。

以下の例では、gethostbyname(およそ0.6秒処理に時間がかかっている) が終了した直後((A)の箇所)で Timeout::Error 例外があがっています。...
...ket'

t = 0.1
start = Time.now
begin
Timeout.timeout(t) {
p TCPSocket.gethostbyname("www.ruby-lang.org")
# (A)
}
ensure
p Time.now - start
end
# 実行例
=> ["helium.ruby-lang.org", [], 2, "210.251.121.214"]
0.689331
/usr/local/lib/ruby/1.6/timeout.rb...
...:37: execution expired (Timeout::Error)
from -:6:in `timeout'
from -:6
# gethostbyname が0.1秒かからない場合は例外が発生しないので
# その場合は、t に小さい数値(0.000001のような)に変える。


timeout による割り込みは Kernel.#sy...

絞り込み条件を変える

Timeout.#timeout(sec, exception_class, message) {|i| ... } -> object (30.0)

ブロックを sec 秒の期限付きで実行します。 ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。

...の処理を Ruby で実装しなおすか C 側で Ruby
のスレッドを意識してあげる必要があります。

以下の例では、gethostbyname(およそ0.6秒処理に時間がかかっている) が終了した直後((A)の箇所)で Timeout::Error 例外があがっています。...
...ket'

t = 0.1
start = Time.now
begin
Timeout.timeout(t) {
p TCPSocket.gethostbyname("www.ruby-lang.org")
# (A)
}
ensure
p Time.now - start
end
# 実行例
=> ["helium.ruby-lang.org", [], 2, "210.251.121.214"]
0.689331
/usr/local/lib/ruby/1.6/timeout.rb...
...:37: execution expired (Timeout::Error)
from -:6:in `timeout'
from -:6
# gethostbyname が0.1秒かからない場合は例外が発生しないので
# その場合は、t に小さい数値(0.000001のような)に変える。


timeout による割り込みは Kernel.#sy...