種類
- インスタンスメソッド (181)
- 特異メソッド (108)
- 文書 (94)
- モジュール関数 (57)
- ライブラリ (12)
クラス
- Addrinfo (72)
- Array (21)
- BasicSocket (36)
- File (12)
-
File
:: Stat (24) - IPSocket (12)
- Socket (72)
- String (12)
- TCPSocket (12)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) -
NEWS for Ruby 2
. 3 . 0 (10) - canonname (12)
- connect (12)
-
connect
_ from (24) -
do
_ not _ reverse _ lookup (12) - dump (24)
-
family
_ addrinfo (24) - ftype (24)
- getaddress (12)
- getaddrinfo (12)
- gethostbyname (24)
- gethostname (12)
-
local
_ address (12) - new (12)
- pack (21)
- pack テンプレート文字列 (12)
-
remote
_ address (12) -
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 3 feature (12) -
ruby 1
. 8 . 4 feature (12) -
ruby 1
. 8 . 5 feature (12) -
ruby 1
. 9 feature (12) - socket? (24)
- tcp (24)
- timeout (37)
- unpack (12)
検索結果
先頭5件
- socket
- Socket
. getaddrinfo(nodename , servname , family=nil , socktype=nil , protocol=nil , flags=nil) -> Array - Socket
. tcp(host , port , local _ host=nil , local _ port=nil , connect _ timeout: nil) -> Socket - Socket
. tcp(host , port , local _ host=nil , local _ port=nil , connect _ timeout: nil) {|socket| . . . } -> object - Socket
. gethostbyname(host) -> Array
-
socket (44130.0)
-
socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。
...socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。
=== ソケットアドレス
ソケットというのは通信路の末端です。
たとえば 1対1 の通信では、まず通信路の両端にひとつずつソケットをつくり......ば TCP では IP アドレスとポート番号ですし、
Unix ドメインソケットではソケットファイルを指すパス名です。
ソケットアドレスを取り扱うための便利で高水準なクラスとして Addrinfo があります。
IPSocket および UNIXSocket 以.......getaddrinfo("www.ruby-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.gethostby... -
Socket
. getaddrinfo(nodename , servname , family=nil , socktype=nil , protocol=nil , flags=nil) -> Array (23238.0) -
2553で定義された getaddrinfo() の機能を提供するクラスメソッド。この関数は gethostbyname() や getservbyname() の代わりとして用意されており、 IP のバージョンに依存しないプログラムを書くための標準的な API です。
...2553で定義された
getaddrinfo() の機能を提供するクラスメソッド。この関数は
gethostbyname() や getservbyname() の代わりとして用意されており、
IP のバージョンに依存しないプログラムを書くための標準的な API です。
@param nodename......。 (lib:socket#host_formatを参照)
@param servname サービス名を指定します。 必須引数です。 (lib:socket#service_formatを参照)
@param family アドレスファミリー。Socket::Constants::AF_INET など、AF_ で始まる定数を指定します。
@param socktype ソケ......getaddrinfo(3) を参照して下さい。
=== 使用例
例:
require '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-l... -
Socket
. tcp(host , port , local _ host=nil , local _ port=nil , connect _ timeout: nil) -> Socket (23226.0) -
TCP/IP で host:port に接続するソケットオブジェクトを作成します。
...TCP/IP で host:port に接続するソケットオブジェクトを作成します。
local_host や local_port を指定した場合、ソケットをそこにバインドします。
ブロックを渡すと、生成したソケットをそのブロックに渡し呼び出します。
ブロ......l_port 接続元のポート番号
@param connect_timeout タイムアウトまでの秒数
@return ブロック付きで呼ばれた場合はブロックが返した値です。
ブロックなしで呼ばれた場合はソケットオブジェクトを返します。
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 (23226.0) -
TCP/IP で host:port に接続するソケットオブジェクトを作成します。
...TCP/IP で host:port に接続するソケットオブジェクトを作成します。
local_host や local_port を指定した場合、ソケットをそこにバインドします。
ブロックを渡すと、生成したソケットをそのブロックに渡し呼び出します。
ブロ......l_port 接続元のポート番号
@param connect_timeout タイムアウトまでの秒数
@return ブロック付きで呼ばれた場合はブロックが返した値です。
ブロックなしで呼ばれた場合はソケットオブジェクトを返します。
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 (23152.0) -
ホスト名または IP アドレス(指定方法に関しては lib:socket#host_formatを参照) からホストの情報を返します。
...ホスト名または IP アドレス(指定方法に関しては
lib:socket#host_formatを参照)
からホストの情報を返します。
@param host 文字列でホストを指定します。
@return ホスト情報を含んだ4要素の配列を返します。
=== 返り値のホスト......プが AF_INET (定数 2) ならば
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_sock......addr_in(Socket.gethostbyname("210.251.121.214")[3])[1]
"210.251.121.214"... -
Socket
# connect(server _ sockaddr) -> 0 (23148.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 / HT......TP/1.0\r\n\r\n"
print s.read... -
Socket
. gethostname -> String (23124.0) -
システムの標準のホスト名を取得します。
...の標準のホスト名を取得します。
ホストの別名やアドレスなど他の情報を得るには
Socket.getaddrinfo を使ってください。
ただし、これは不可能な場合もあります。
例:
require 'socket'
p Socket.gethostname #=> "helium.ruby-lang.org"... -
BasicSocket
# do _ not _ reverse _ lookup -> bool (17118.0) -
ソケットごとのアドレスからホスト名への逆引きの設定を返します。
...BasicSocket.do_not_reverse_lookup の値になります。
require 'socket'
BasicSocket.do_not_reverse_lookup = false
TCPSocket.open("www.ruby-lang.org", 80) {|sock|
p sock.do_not_reverse_lookup # => false
}
BasicSocket.do_not_reverse_lookup = true
TCPSocket.open("www.ruby-lan......g.org", 80) {|sock|
p sock.do_not_reverse_lookup # => true
}
@see BasicSocket#do_not_reverse_lookup=... -
TCPSocket
. gethostbyname(host) -> Array (17118.0) -
ホスト名または IP アドレス (整数または"127.0.0.1" のような文字列)からホストの情報を返します。ホスト情報は、ホ スト名、ホストの別名の配列、ホストのアドレスタイプ、ホストの アドレスを各要素とする配列です。ホストのアドレスは octet decimal の文字列 ("127.0.0.1"のような文字列) や IPv6 アドレス ("::1" のような文字列) です。
...トのアドレスは octet
decimal の文字列 ("127.0.0.1"のような文字列) や IPv6
アドレス ("::1" のような文字列) です。
@param host ホスト名または IP アドレス (整数または"127.0.0.1" のような文字列)を指定します。
@return ホスト名、ホス......トの別名の配列、ホストのアドレスタイプ、ホストのアドレスを各要素とする配列を返します。
例:
require 'socket'
p TCPSocket.gethostbyname("www.ruby-lang.org")
#=> ["beryllium.ruby-lang.org", [], 2, "210.163.138.100"]...