るりまサーチ

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

別のキーワード

  1. rbconfig ruby
  2. fiddle ruby_free
  3. fiddle build_ruby_platform
  4. rake ruby
  5. rubygems/defaults ruby_engine

ライブラリ

キーワード

検索結果

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

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

...名を指定します。 必須引数です。 (lib:socket#host_formatを参照)

@param servname サービス名を指定します。 必須引数です。 (lib:socket#service_formatを参照)

@param family アドレスファミリー。Socket::Constants::AF_INET など、AF_ で始まる定数を...
...指定します。

@param socktype ソケットタイプ。 Socket::Constants::SOCK_STREAM など、 SOCK_ で始まる定数を指定します。

@param protocol プロトコル。Socket::Constants::IPPROTO_IP など、IPPROTO_ で始まる定数を指定します。

@param flags getaddrinfo(3)...
...'socket'

p Socket.getaddrinfo(Socket.gethostname, "ftp")
#=> [["AF_INET", 21, "helium.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-l...

Socket#connect(server_sockaddr) -> 0 (13.0)

connect(2) でソケットを接続します。

...connect(2) でソケットを接続します。

server_sockaddr は、
lib:socket#pack_string
もしくは Addrinfo オブジェクト
です。

0 を返します。

@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラーを報告した場合に発生します。...
...の TCP ソケットを生成し、connect で www.ruby-lang.org:80 に接続するには以下のようにします。

例:

require 'socket'

s = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(80, "www.ruby-lang.org")
s.connect(sockaddr)
s.write "GET /...

Socket.tcp(host, port, local_host=nil, local_port=nil, connect_timeout: nil) -> Socket (13.0)

TCP/IP で host:port に接続するソケットオブジェクトを作成します。

...返した値です。
ブロックなしで呼ばれた場合はソケットオブジェクトを返します。

require 'socket'

Socket
.tcp("www.ruby-lang.org", 80) {|sock|
sock.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
sock.close_write
puts sock.read
}...

Socket.tcp(host, port, local_host=nil, local_port=nil, connect_timeout: nil) {|socket| ... } -> object (13.0)

TCP/IP で host:port に接続するソケットオブジェクトを作成します。

...返した値です。
ブロックなしで呼ばれた場合はソケットオブジェクトを返します。

require 'socket'

Socket
.tcp("www.ruby-lang.org", 80) {|sock|
sock.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
sock.close_write
puts sock.read
}...

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

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

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

@param host 文字列でホストを指定します。

@return ホスト情報を含んだ4要素の配列を返します。

=== 返り値のホスト...
...) ならば
Socket
.unpack_sockaddr_in で unpack できます。

=== 使用例

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.gethostby...

絞り込み条件を変える

Socket.gethostname -> String (7.0)

システムの標準のホスト名を取得します。

...の標準のホスト名を取得します。

ホストの別名やアドレスなど他の情報を得るには
Socket
.getaddrinfo を使ってください。
ただし、これは不可能な場合もあります。

例:

require 'socket'

p Socket.gethostname #=> "helium.ruby-lang.org"...