るりまサーチ (Ruby 2.2.0)

最速Rubyリファレンスマニュアル検索!
93件ヒット [1-93件を表示] (0.039秒)
トップページ > バージョン:2.2.0[x] > クエリ:socket[x] > クエリ:tcp[x] > ライブラリ:socket[x]

別のキーワード

  1. socket new
  2. socket open
  3. socket tcp_server_sockets
  4. socket udp_server_sockets
  5. socket listen

検索結果

Socket.tcp(host, port, local_host=nil, local_port=nil, connect_timeout: nil) -> Socket (105721.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.r...

Socket.tcp(host, port, local_host=nil, local_port=nil, connect_timeout: nil) {|socket| ... } -> object (105721.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.r...

Socket.tcp_server_sockets(host, port) -> [Socket] (88297.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。

...番号を持ちます。

require 'socket'

# tcp_server_sockets returns は2つのソケットを返す
socket
s = Socket.tcp_server_sockets(1296)
p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>]

# それぞれは IPv4 と IPv6 のソケット
socket
s.each {|s| p s.local_address }
#=>...
...
socket
s = Socket.tcp_server_sockets(0)
socket
s.each {|s| p s.local_address }
#=> #<Addrinfo: [::]:53114 TCP>
# #<Addrinfo: 0.0.0.0:53114 TCP>

# ブロックにソケットの配列が渡される
Socket
.tcp_server_sockets(0) {|sockets|
p sockets #=> [#<Socket:fd 3>, #<Socket:fd...
...4>]
}


@param host 割り当てるホスト名
@param port 割り当てるポート番号
@see Socket.tcp_server_loop...

Socket.tcp_server_sockets(host, port) {|sockets| ...} -> object (88297.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。

...番号を持ちます。

require 'socket'

# tcp_server_sockets returns は2つのソケットを返す
socket
s = Socket.tcp_server_sockets(1296)
p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>]

# それぞれは IPv4 と IPv6 のソケット
socket
s.each {|s| p s.local_address }
#=>...
...
socket
s = Socket.tcp_server_sockets(0)
socket
s.each {|s| p s.local_address }
#=> #<Addrinfo: [::]:53114 TCP>
# #<Addrinfo: 0.0.0.0:53114 TCP>

# ブロックにソケットの配列が渡される
Socket
.tcp_server_sockets(0) {|sockets|
p sockets #=> [#<Socket:fd 3>, #<Socket:fd...
...4>]
}


@param host 割り当てるホスト名
@param port 割り当てるポート番号
@see Socket.tcp_server_loop...

Socket.tcp_server_sockets(port) -> [Socket] (88297.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。

...番号を持ちます。

require 'socket'

# tcp_server_sockets returns は2つのソケットを返す
socket
s = Socket.tcp_server_sockets(1296)
p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>]

# それぞれは IPv4 と IPv6 のソケット
socket
s.each {|s| p s.local_address }
#=>...
...
socket
s = Socket.tcp_server_sockets(0)
socket
s.each {|s| p s.local_address }
#=> #<Addrinfo: [::]:53114 TCP>
# #<Addrinfo: 0.0.0.0:53114 TCP>

# ブロックにソケットの配列が渡される
Socket
.tcp_server_sockets(0) {|sockets|
p sockets #=> [#<Socket:fd 3>, #<Socket:fd...
...4>]
}


@param host 割り当てるホスト名
@param port 割り当てるポート番号
@see Socket.tcp_server_loop...

絞り込み条件を変える

Socket.tcp_server_sockets(port) {|sockets| ...} -> object (88297.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。

...番号を持ちます。

require 'socket'

# tcp_server_sockets returns は2つのソケットを返す
socket
s = Socket.tcp_server_sockets(1296)
p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>]

# それぞれは IPv4 と IPv6 のソケット
socket
s.each {|s| p s.local_address }
#=>...
...
socket
s = Socket.tcp_server_sockets(0)
socket
s.each {|s| p s.local_address }
#=> #<Addrinfo: [::]:53114 TCP>
# #<Addrinfo: 0.0.0.0:53114 TCP>

# ブロックにソケットの配列が渡される
Socket
.tcp_server_sockets(0) {|sockets|
p sockets #=> [#<Socket:fd 3>, #<Socket:fd...
...4>]
}


@param host 割り当てるホスト名
@param port 割り当てるポート番号
@see Socket.tcp_server_loop...

Addrinfo.tcp(host, port) -> Addrinfo (78412.0)

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

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

require 'socket'

Addrinfo.tcp("localhost", "smtp")
#=> #<Addrinfo: 127.0.0.1:25 TCP (localhost:smtp)>

@param host ホスト(IP アドレスもしくはホスト名)
@param port ポート番号(整数)もしくは...

Socket.tcp_server_loop(host, port) {|sock,addr| ...} -> () (69577.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。

...それが用いられます。

# 逐次的な echo サーバ
# 一度に一つのクライアントした取り扱えない
require 'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}

# ス...
...注意
require 'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
Thread.new {
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
}

内部的には Socket.tcp_server_sockets で
生成したソケットを Socket.accept_loop で処...
...理しています。

@param host 割り当てるホスト名
@param port 割り当てるポート番号
@see Socket.tcp_server_sockets, Socket.accept_loop...

Socket.tcp_server_loop(port) {|sock,addr| ...} -> () (69577.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。

...それが用いられます。

# 逐次的な echo サーバ
# 一度に一つのクライアントした取り扱えない
require 'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}

# ス...
...注意
require 'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
Thread.new {
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
}

内部的には Socket.tcp_server_sockets で
生成したソケットを Socket.accept_loop で処...
...理しています。

@param host 割り当てるホスト名
@param port 割り当てるポート番号
@see Socket.tcp_server_sockets, Socket.accept_loop...

Socket::SOL_TCP -> Integer (69442.0)

TCP socket options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第一引数(level)に使用します。

...TCP socket options。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第一引数(level)に使用します。

@see Socket::Constants::IPPROTO_TCP...

絞り込み条件を変える

Socket::TCP_INFO -> Integer (69394.0)

Retrieve information about this socket。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Retrieve information about this socket
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(4freebsd), tcp(7linux)...

Socket::TCP_NOOPT -> Integer (69394.0)

Don't use TCP options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Don't use TCP options。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(4freebsd), tcp(7linux)...

Socket::TCP_DEFER_ACCEPT -> Integer (69376.0)

Don't notify a listening socket until data is ready。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Don't notify a listening socket until data is ready。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

Socket::IPPROTO_TCP -> Integer (69364.0)

Transmission control protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

...Transmission control protocol。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

@see netinet/in.h(header)
tcp(4freebsd), tcp(7linux)...

Socket::TCP_NODELAY -> Integer (69364.0)

Don't delay sending to coalesce packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Don't delay sending to coalesce packets。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(4freebsd),
tcp(7linux), netinet/tcp.h(header)...

絞り込み条件を変える

Socket::TCP_MAXSEG -> Integer (69346.0)

Set maximum segment size。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Set maximum segment size。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(4freebsd), tcp(7linux)...

Socket::TCP_NOPUSH -> Integer (69346.0)

Don't push the last block of write。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Don't push the last block of write。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(4freebsd), tcp(7linux)...

Socket::TCP_CORK -> Integer (69328.0)

Don't send partial frames。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Don't send partial frames。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

Socket::TCP_KEEPCNT -> Integer (69328.0)

Maximum number of keepalive probes allowed before dropping a connection。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Maximum number of keepalive probes allowed before dropping a connection。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

Socket::TCP_KEEPIDLE -> Integer (69328.0)

Idle time before keepalive probes are sent。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Idle time before keepalive probes are sent。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

絞り込み条件を変える

Socket::TCP_KEEPINTVL -> Integer (69328.0)

Time between keepalive probes。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Time between keepalive probes。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

Socket::TCP_LINGER2 -> Integer (69328.0)

Lifetime of orphaned FIN_WAIT2 sockets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Lifetime of orphaned FIN_WAIT2 sockets。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

Socket::TCP_MD5SIG -> Integer (69328.0)

Use MD5 digests (RFC2385)。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Use MD5 digests (RFC2385)。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(4freebsd), 2385...

Socket::TCP_QUICKACK -> Integer (69328.0)

Enable quickack mode。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Enable quickack mode。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

Socket::TCP_SYNCNT -> Integer (69328.0)

Number of SYN retransmits before a connection is dropped。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Number of SYN retransmits before a connection is dropped。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

絞り込み条件を変える

Socket::TCP_WINDOW_CLAMP -> Integer (69328.0)

Clamp the size of the advertised window。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Clamp the size of the advertised window。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

TCPSocket (60025.0)

インターネットドメインのストリーム型ソケットのクラスです。

...をそのままサーバに転送するプログラムは以下の
ようになります。

require "socket"

port = if ARGV.size > 0 then ARGV.shift else 4444 end
print port, "\n"

s = TCPSocket.open("localhost", port)

while gets
s.write($_)
print(s.gets)
end
s.close...

Socket.new(domain, type, protocol=0) -> Socket (51553.0)

新しいソケットを生成します。domain、type、 protocol はインクルードファイルにある定数で指定しま す。ほとんどの定数は Socket::AF_INET のように Socket クラスの定数として定義されています。domain とtype に関しては、"AF_INET", "SOCK_STREAM" のように文字列でも指定できますが、文 字列ですべての機能を指定できる保証はありません。

...します。domain、type、
protocol はインクルードファイルにある定数で指定しま
す。ほとんどの定数は Socket::AF_INET のように
Socket
クラスの定数として定義されています。domain
とtype に関しては、"AF_INET",
"SOCK_STREAM" のように文字...
...りません。

例えば、IPv4 の TCP ソケットは以下のように生成されます。

require 'socket'

s = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)

なお、socket(2) の domain 引数において AF_ と PF_ のどちらの定数を使用するかについては混乱...
...ここでは AF_ を使用しています。

@param domain 例えば、<sys/socket.h> のようなインクルードファイルに定義されている定数を指定します。
@param type 例えば、<sys/socket.h> のようなインクルードファイルに定義されている定数を...

Socket.open(domain, type, protocol=0) -> Socket (51553.0)

新しいソケットを生成します。domain、type、 protocol はインクルードファイルにある定数で指定しま す。ほとんどの定数は Socket::AF_INET のように Socket クラスの定数として定義されています。domain とtype に関しては、"AF_INET", "SOCK_STREAM" のように文字列でも指定できますが、文 字列ですべての機能を指定できる保証はありません。

...します。domain、type、
protocol はインクルードファイルにある定数で指定しま
す。ほとんどの定数は Socket::AF_INET のように
Socket
クラスの定数として定義されています。domain
とtype に関しては、"AF_INET",
"SOCK_STREAM" のように文字...
...りません。

例えば、IPv4 の TCP ソケットは以下のように生成されます。

require 'socket'

s = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)

なお、socket(2) の domain 引数において AF_ と PF_ のどちらの定数を使用するかについては混乱...
...ここでは AF_ を使用しています。

@param domain 例えば、<sys/socket.h> のようなインクルードファイルに定義されている定数を指定します。
@param type 例えば、<sys/socket.h> のようなインクルードファイルに定義されている定数を...

Socket::Constants::SOL_TCP -> Integer (51442.0)

TCP socket options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第一引数(level)に使用します。

...TCP socket options。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第一引数(level)に使用します。

@see Socket::Constants::IPPROTO_TCP...

絞り込み条件を変える

Socket.getservbyport(port, protocol_name="tcp") -> String (51418.0)

ポート番号に対応するサービスの正式名を返します。

...す。

@param port ポート番号
@param protocol_name "tcp" や "udp" などのプロトコル名
@return サービスの正式名

require 'socket'

Socket
.getservbyport(80) #=> "www"
Socket
.getservbyport(514, "tcp") #=> "shell"
Socket
.getservbyport(514, "udp") #=> "syslog"...

Socket.accept_loop(sockets) {|sock, client_addrinfo| ...} -> () (51397.0)

sockets でサーバソケットを受け取り、接続を待ち受け、 クライアントとの接続が確立するたびにブロックにその接続 ソケットを渡し呼び出します。

...sockets でサーバソケットを受け取り、接続を待ち受け、
クライアントとの接続が確立するたびにブロックにその接続
ソケットを渡し呼び出します。

ブロックの引数はクライアントと接続したソケットオブジェクトと
Addrinfo...
...

Socket
.tcp_server_loop と同様、ブロックは
逐次的に呼び出されます。つまりブロックか終了するまで
次の接続は accept されません。
並列に通信したい場合は
スレッドのような並列実行機構を使う必要があります。

@param sockets...
...待ち受けたいサーバソケットの配列

@see Socket.tcp_server_loop, Socket.unix_server_loop...

Socket::Constants::TCP_INFO -> Integer (51394.0)

Retrieve information about this socket。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Retrieve information about this socket
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(4freebsd), tcp(7linux)...

Socket::Constants::TCP_NOOPT -> Integer (51394.0)

Don't use TCP options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Don't use TCP options。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(4freebsd), tcp(7linux)...

Socket.getservbyname(service, proto = "tcp") -> Integer (51376.0)

service, protoに対応するポート番号を返 します。protoの省略値は"tcp"です。

service, protoに対応するポート番号を返
します。protoの省略値は"tcp"です。

@param service サービス名を文字列で指定します。例えば、"ftp", "telnet" が相当します。
@param proto プロトコル名を文字列で指定します。省略値は"tcp" です。

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

絞り込み条件を変える

Socket::Constants::TCP_DEFER_ACCEPT -> Integer (51376.0)

Don't notify a listening socket until data is ready。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Don't notify a listening socket until data is ready。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

Socket::Constants::IPPROTO_TCP -> Integer (51364.0)

Transmission control protocol。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。

...Transmission control protocol。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。

また、Socket.open の protocol 引数に渡す利用法もあります。

@see netinet/in.h(header)
tcp(4freebsd), tcp(7linux)...

Socket::Constants::TCP_NODELAY -> Integer (51364.0)

Don't delay sending to coalesce packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Don't delay sending to coalesce packets。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(4freebsd),
tcp(7linux), netinet/tcp.h(header)...

Socket::Constants::TCP_MAXSEG -> Integer (51346.0)

Set maximum segment size。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Set maximum segment size。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(4freebsd), tcp(7linux)...

Socket::Constants::TCP_NOPUSH -> Integer (51346.0)

Don't push the last block of write。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Don't push the last block of write。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(4freebsd), tcp(7linux)...

絞り込み条件を変える

Socket::Constants::TCP_CORK -> Integer (51328.0)

Don't send partial frames。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Don't send partial frames。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

Socket::Constants::TCP_KEEPCNT -> Integer (51328.0)

Maximum number of keepalive probes allowed before dropping a connection。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Maximum number of keepalive probes allowed before dropping a connection。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

Socket::Constants::TCP_KEEPIDLE -> Integer (51328.0)

Idle time before keepalive probes are sent。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Idle time before keepalive probes are sent。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

Socket::Constants::TCP_KEEPINTVL -> Integer (51328.0)

Time between keepalive probes。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Time between keepalive probes。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

Socket::Constants::TCP_LINGER2 -> Integer (51328.0)

Lifetime of orphaned FIN_WAIT2 sockets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Lifetime of orphaned FIN_WAIT2 sockets。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

絞り込み条件を変える

Socket::Constants::TCP_MD5SIG -> Integer (51328.0)

Use MD5 digests (RFC2385)。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Use MD5 digests (RFC2385)。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(4freebsd), 2385...

Socket::Constants::TCP_QUICKACK -> Integer (51328.0)

Enable quickack mode。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Enable quickack mode。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

Socket::Constants::TCP_SYNCNT -> Integer (51328.0)

Number of SYN retransmits before a connection is dropped。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Number of SYN retransmits before a connection is dropped。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

Socket::Constants::TCP_WINDOW_CLAMP -> Integer (51328.0)

Clamp the size of the advertised window。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Clamp the size of the advertised window。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see tcp(7linux)...

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

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

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

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

0 を返します。

@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラーを報告した場合に発生します。...
...、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 / HTTP/1.0\r\n\r\n"
print s.rea...

絞り込み条件を変える

Socket#accept -> Array (51115.0)

新しい接続を受け付けて、新しい接続に対するソケットとアドレスの ペアを返します。accept(2) を参照。

...、accept でクライアントからの接続を受け付けるには以下のようにします。

例:

require 'socket'

serv = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(8080, "0.0.0.0")
serv.bind(sockaddr)
serv.listen(5)
sock = serv.accept...

Socket::NI_NAMEREQD -> Integer (51097.0)

A name is required。名前解決できなかった場合にエラーを返すことを意味します。

...is required。名前解決できなかった場合にエラーを返すことを意味します。

Socket
.getnameinfo, Addrinfo#getnameinfo の引数 flags に渡す
定数です。

require 'socket'

# ここでは 192.0.2.18 は名前解決できないアドレス
Addrinfo.tcp("192.0.2.1...
...8", 514).getnameinfo()
# =>["192.0.2.18", "shell"]
Addrinfo.tcp("192.0.2.18", 514).getnameinfo(Socket::NI_NAMEREQD)
# SocketError が発生する

@see getnameinfo(3)...

TCPSocket.new(host, service, local_host=nil, local_service=nil) -> TCPSocket (42607.0)

host で指定したホストの service で指定したポートと接続したソケッ トを返します。host はホスト名、またはインターネットアドレスを 示す文字列、service は /etc/services (または NIS) に登録されている サービス名かポート番号です。

host で指定したホストの service で指定したポートと接続したソケッ
トを返します。host はホスト名、またはインターネットアドレスを
示す文字列、service は /etc/services (または NIS) に登録されている
サービス名かポート番号です。

引数 local_host, local_service を指定した場合、そのアドレス
に対して bind(2) します。

@param host ホスト名、またはインターネットアドレスを示す文字列を指定します。
@param service /etc/services (または N...

TCPSocket.open(host, service, local_host=nil, local_service=nil) -> TCPSocket (42607.0)

host で指定したホストの service で指定したポートと接続したソケッ トを返します。host はホスト名、またはインターネットアドレスを 示す文字列、service は /etc/services (または NIS) に登録されている サービス名かポート番号です。

host で指定したホストの service で指定したポートと接続したソケッ
トを返します。host はホスト名、またはインターネットアドレスを
示す文字列、service は /etc/services (または NIS) に登録されている
サービス名かポート番号です。

引数 local_host, local_service を指定した場合、そのアドレス
に対して bind(2) します。

@param host ホスト名、またはインターネットアドレスを示す文字列を指定します。
@param service /etc/services (または N...

Socket (42277.0)

汎用ソケットクラス。

...して
Socket
.new がありますが、以下のようなより便利な
メソッドがあります。
* TCP のクライアントソケット Socket.tcp TCPSocket.open
* TCP のサーバソケット Socket.tcp_server_loop,
Socket
.tcp_server_sockets, TCPServer.open
* UNIX socket のクラ...
...イアントソケット Socket.unix UNIXSocket.open
* UNIX socket のサーバソケット Socket.unix_server_loop,
Socket
.unix_server_socket, UNIXServer.open
また、クライアントソケットは Addrinfo#connect で、
サーバソケットを Addrinfo#bind や Addrinfo#listen で
...

絞り込み条件を変える

TCPServer (42091.0)

TCP/IP ストリーム型接続のサーバ側のソケットのクラスです。

...ットを利用したサーバのプログラミングができます。

例えば echo サーバは以下のようになります。

require "socket"

gs = TCPServer.open(0)
socks = [gs]
addr = gs.addr
addr.shift
printf("server is on %s\n", addr.join(":"))

while true
nsock...
...e
str = s.gets
s.write(str)
end
end
end
end

Thread を使えばもっと短くなります。

require "socket"

gs = TCPServer.open(0)
addr = gs.addr
addr.shift
printf("server is on %s\n", addr.join(":"))

while true
Thread.start(gs.accep...

TCPSocket.gethostbyname(host) -> Array (42025.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::AncillaryData.new(family, cmsg_level, cmsg_type, cmsg_data) -> Socket::AncillaryData (33808.0)

新たな Socket::AncillaryData オブジェクトを生成します。

...新たな Socket::AncillaryData オブジェクトを生成します。

family はソケットファミリーを指定します。
整数、文字列、シンボルを渡します。
* Socket::AF_INET, "AF_INET", "INET", :AF_INET, :INET
* Socket::AF_UNIX, "AF_UNIX", "UNIX", :AF_UNIX, :UNIX
*...
...定します。
整数、文字列、シンボルを渡します。
* Socket::SOL_SOCKET, "SOL_SOCKET", "SOCKET", :SOL_SOCKET and :SOCKET
* Socket::IPPROTO_IP, "IP" and :IP
* Socket::IPPROTO_IPV6, "IPV6" and :IPV6
* Socket::IPPROTO_TCP, "TCP" and :TCP
* など

cmsg_type は補助データの...
...異なります。
整数、文字列、シンボルを渡します。
* Socket::SCM_RIGHTS, "SCM_RIGHTS", "RIGHTS", :SCM_RIGHTS, :RIGHTS for SOL_SOCKET
* Socket::IP_RECVTTL, "RECVTTL" and :RECVTTL for IPPROTO_IP
* Socket::IPV6_PKTINFO, "PKTINFO" and :PKTINFO for IPPROTO_IPV6
* など

cmsg_data...

BasicSocket#getsockopt(level, optname) -> Socket::Option (33664.0)

ソケットのオプションを取得します。getsockopt(2) を参照してください。 取得したオプションのデータを Socket::Option で返します。

...ください。
取得したオプションのデータを Socket::Option で返します。

level, optname には Socket::SOL_SOCKET Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いるこ...
...@see BasicSocket#setsockopt

例:

require 'socket'

serv = Socket.tcp_server_sockets("", 0)[0]
c = serv.local_address.connect
s = serv.accept
opt = c.getsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY)
# c.getsockopt("TCP", "NODELAY"), なども可能
p opt #=> #<Socket::Option: I...
...NET TCP NODELAY 0>
p opt.bool #=> false (Nagle アルゴリズム有効)
p opt.unpack("i")[0] #=> 0 (Socket::Option#unpack が互換性のために存在する)
# 整数値の場合は Socket::Option#int を用いる
p c.getsockopt(:IP, :TTL).int #=> 64...

TCPServer#accept -> TCPSocket (33625.0)

クライアントからの接続要求を受け付け、接続した TCPSocket のインスタンスを返します。

...クライアントからの接続要求を受け付け、接続した
TCPSocket のインスタンスを返します。

例:

require 'socket'

TCPServer.open("", 0) {|serv|
c = TCPSocket.new(*serv.addr.values_at(3,1))
s = serv.accept
c.write "foo"
p s.recv(10) #=> "foo"
}...

絞り込み条件を変える

TCPServer#accept_nonblock -> TCPSocket (33607.0)

ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。

ソケットをノンブロッキングモードに設定した後、
accept(2) を呼び出します。

返り値は TCPServer#accept と同じです。

accept(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。

@raise Errno::EXXX accept(2) がエラーになった場合に発生します。

BasicSocket#recvmsg(maxmesglen=nil, flags=0, maxcontrollen=nil, opts={}) -> [String, Addrinfo, Integer, *Socket::AncillaryData] (33490.0)

recvmsg(2) を用いてメッセージを受け取ります。

...ックします。ノンブロッキング方式で通信したい
場合は BasicSocket#recvmsg_nonblock を用います。

maxmesglen, maxcontrollen で受け取るメッセージおよび補助データ
(Socket::AncillaryData)の最大長をバイト単位で指定します。
省略した場合...
...は必要なだけ内部バッファを拡大して
データが切れないようにします。

flags では Socket::MSG_* という名前の定数の biwsise OR を取った
ものを渡します。

opts にはその他のオプションを渡します。今のところ :scm_right => bool
...
...します。詳しくは Socket::AncillaryData#unix_rights
を参照してください。

返り値は配列で得られます。

返り値の配列の最初の要素は受け取ったメッセージを表す文字列です。

2番目の要素は connection-less socket の場合には送り元の...

TCPServer.new(host=nil, service) -> TCPServer (33343.0)

新しいサーバー接続をオープンします。service は /etc/services (または NIS) に登録されているサービ ス名かポート番号で指定します。host を指定した時は 指定したホストに対しての接続だけを受け付けます。

...、接続を特定できます。

host に指定できる形式はlib:socket#host_formatを見てください。

@param host 接続したいホストを指定します。
host に指定できる形式はlib:socket#host_formatを見てください。

@param service /etc/services (ま...

TCPServer.open(host=nil, service) -> TCPServer (33343.0)

新しいサーバー接続をオープンします。service は /etc/services (または NIS) に登録されているサービ ス名かポート番号で指定します。host を指定した時は 指定したホストに対しての接続だけを受け付けます。

...、接続を特定できます。

host に指定できる形式はlib:socket#host_formatを見てください。

@param host 接続したいホストを指定します。
host に指定できる形式はlib:socket#host_formatを見てください。

@param service /etc/services (ま...

BasicSocket#recv(maxlen, flags = 0) -> String (33157.0)

ソケットからデータを受け取り、文字列として返します。 maxlen は受け取る最大の長さを指定します。 flags については recv(2) を参照してください。flags の デフォルト値は 0 です。flags の指定に必要な定数は Socket クラスで定義されています。(例: Socket::MSG_PEEK)

...は recv(2) を参照してください。flags の
デフォルト値は 0 です。flags の指定に必要な定数は
Socket
クラスで定義されています。(例: Socket::MSG_PEEK)

内部で呼び出す recv(2) が 0 を返した場合、このメソッドは "" を返します。
この...
...@raise Errno::EXXX recvfrom(2) がエラーになった場合などに発生します。

例:

require 'socket'

s1, s2 = UNIXSocket.pair
s1.write "a"
s1.close
p s2.recv(10, Socket::MSG_PEEK) #=> "a"
p s2.recv(10) #=> "a"
p s2.recv(10) #=> ""...

絞り込み条件を変える

BasicSocket#connect_address -> Addrinfo (33097.0)

ローカルマシン内で接続するのに適当なアドレスを Addrinfo オブジェクトで返します。

...ローカルマシン内で接続するのに適当なアドレスを Addrinfo
オブジェクトで返します。

BasicSocket#local_address の返り値
以下の点を除いては同じものを返します。
* IPv4 の不定アドレス(0.0.0.0) は IPv4 のループバックアドレス(12...
...:) は IPv6 のループバックアドレス(::1)
に置換される

BasicSocket#local_address が接続先として不適なアドレスを返す場合は
例外 SocketError が発生します。

require 'socket'

Addrinfo.tcp("0.0.0.0", 0).listen {|serv|
p serv.connect_address #=> #...
...<Addrinfo: 127.0.0.1:53660 TCP>
serv.connect_address.connect {|c|
s, _ = serv.accept
p [c, s] #=> [#<Socket:fd 4>, #<Socket:fd 6>]
}
}


@raise SocketError アドレスが接続に不適な場合に返します
@see BasicSocket#local_address...

Socket::Constants::NI_NAMEREQD -> Integer (33097.0)

A name is required。名前解決できなかった場合にエラーを返すことを意味します。

...is required。名前解決できなかった場合にエラーを返すことを意味します。

Socket
.getnameinfo, Addrinfo#getnameinfo の引数 flags に渡す
定数です。

require 'socket'

# ここでは 192.0.2.18 は名前解決できないアドレス
Addrinfo.tcp("192.0.2.1...
...8", 514).getnameinfo()
# =>["192.0.2.18", "shell"]
Addrinfo.tcp("192.0.2.18", 514).getnameinfo(Socket::NI_NAMEREQD)
# SocketError が発生する

@see getnameinfo(3)...

BasicSocket#local_address -> Addrinfo (33061.0)

getsockname(2) で得られたローカルアドレス情報を Addrinfo オブジェクトとして返します。

...してください。

require 'socket'

TCPSocket.open("www.ruby-lang.org", 80) {|s|
p s.local_address #=> #<Addrinfo: 192.168.0.129:36873 TCP>
}

TCPServer.open("127.0.0.1", 1512) {|serv|
p serv.local_address #=> #<Addrinfo: 127.0.0.1:1512 TCP>
}

@see BasicSocket#getsockname...

BasicSocket#remote_address -> Addrinfo (33061.0)

getpeername(2) で得られたリモートアドレス情報を Addrinfo オブジェクトとして返します。

...返すことに注意してください。

require 'socket'

TCPSocket.open("www.ruby-lang.org", 80) {|s|
p s.remote_address #=> #<Addrinfo: 221.186.184.68:80 TCP>
}

TCPServer.open("127.0.0.1", 1728) {|serv|
c = TCPSocket.new("127.0.0.1", 1728)
s = serv.accept
p s.remote...
..._address #=> #<Addrinfo: 127.0.0.1:36504 TCP>
}

@see BasicSocket#getpeername...

TCPServer#listen(backlog) -> 0 (33055.0)

listen(2) を実行します。 (Socket#listenと同じ)

...listen(2) を実行します。
(Socket#listenと同じ)

backlog は、クライアントからの接続要求を保留できる数です。

listen(2) が成功すれば 0 を返します。
失敗すれば 例外 Errno::EXXX が発生します。

@param backlog backlog は、クライアント...

絞り込み条件を変える

TCPServer#sysaccept -> Integer (33025.0)

接続したクライアントのソケットをファイル記述子で返すことを除けば TCPServer#accept と同じです。

...接続したクライアントのソケットをファイル記述子で返すことを除けば
TCPServer#accept と同じです。

例:

require 'socket'

TCPServer.open("", 0) {|serv|
c = TCPSocket.new(*serv.addr.values_at(3,1))
p serv.sysaccept #=> 6
}...

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

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

...e, protocol
socket(2) のパラメータに対応します。

sockaddr には文字列もしくは配列を指定します。
配列の場合は IPSocket#addr や UNIXSocket#addr の
値と互換でなければなりません。
文字列の場合は Socket.sockaddr_in や
Socket
.unpack_sockadd...
...* ["AF_INET6", 42304, "ip6-localhost", "::1"]
* ["AF_UNIX", "/tmp/sock"]
* Socket.sockaddr_in("smtp", "2001:DB8::1")
* Socket.sockaddr_in(80, "172.18.22.42")
* Socket.sockaddr_in(80, "www.ruby-lang.org")
* Socket.sockaddr_un("/tmp/sock")

配列で AF_INET/AF_INET6 を指定した場合、...
... Socket::PF_INET のようなプロコルファミリーを指定します。
文字列やシンボル名を指定することができます(PF_ というプレフィクスは
省略することもできます)。例えば :INET, :INET6, :UNIX, "PF_INET" などです。

socktype は Socket::SO...

Addrinfo#connect_from(host, port) -> Socket (24382.0)

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

...クが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済みSocket
オブジェクトが返されます。

引数で指定した...
...アドレスはソケット接続のローカル側のアドレスになります。

require 'socket'

Addrinfo.tcp("www.ruby-lang.org", 80).connect_from("0.0.0.0", 4649) {|s|
s.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
puts s.read
}

@param host ホスト(IP アドレ...

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

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

... Socket::NI_??? という名前の定数のビット OR を渡します。

require 'socket'

Addrinfo.tcp("127.0.0.1", 80).getnameinfo
#=> ["localhost", "www"]
Addrinfo.tcp("127.0.0.1", 80).getnameinfo(Socket::NI_NUMERICSERV)
#=> ["localhost", "80"]

@param flags フラグ
@raise SocketEr...
...ror getnameinfo(3) がエラーを起こした場合に生じる例外

@see Socket.getnameinfo...

Addrinfo#unix? -> bool (24109.0)

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

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

require 'socket'

Addrinfo.tcp("127.0.0.1", 80).unix? #=> false
Addrinfo.tcp("::1", 80).unix? #=> false
Addrinfo.unix("/tmp/sock").unix? #=> true

@see Addrinfo#ip?...

絞り込み条件を変える

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

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

...場合には制限しないことを意味します。
IPv6 に制限したい場合には family に PF_INET6 を指定します。

flags には Socket::AI_??? という定数のビット OR を取ります。

アドレスの使い方がわかっている場合には socktype を明示すべき...
...フォームが存在します。512 のようなポート番号は
socktype なしでは曖昧な指定となるためです。

例:

require 'socket'

Addrinfo.getaddrinfo("www.kame.net", 80, nil, :STREAM)
#=> [#<Addrinfo: 203.178.141.194:80 TCP (www.kame.net:80)>,
# #<Addrinfo: [2001:...
...ケットタイプ(整数、文字列、シンボル、もしくは nil)
@param protocol プロトコル(整数、もしくは nil)
@param flags フラグ(整数)

@raise SocketError getaddrinfo(3)がエラーを返したときに発生する例外です
@see Addrinfo.foreach, Socket.getaddrinfo...

Addrinfo#connect_from(host, port) {|sock| ... } -> object (24082.0)

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

...クが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済みSocket
オブジェクトが返されます。

引数で指定した...
...アドレスはソケット接続のローカル側のアドレスになります。

require 'socket'

Addrinfo.tcp("www.ruby-lang.org", 80).connect_from("0.0.0.0", 4649) {|s|
s.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
puts s.read
}

@param host ホスト(IP アドレ...

Addrinfo#canonname -> String|nil (24079.0)

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

...返します。

カノニカル名は Addrinfo.getaddrinfo に Socket::AI_CANONINAME
を指定した場合にセットされます。

require 'socket'

list = Addrinfo.getaddrinfo("www.ruby-lang.org", 80, :INET, :STREAM, nil, Socket::AI_CANONNAME)
p list[0] #=> #<Addrinfo: 221.186.184.68:80...

Addrinfo#family_addrinfo(host, port) -> Addrinfo (24079.0)

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

...「似た」の意味はプロトコルファミリ、ソケットタイプ、プロトコルが
同じことを意味します。

require 'socket'

Addrinfo.tcp("0.0.0.0", 4649).family_addrinfo("www.ruby-lang.org", 80)
#=> #<Addrinfo: 221.186.184.68:80 TCP (www.ruby-lang.org:80)>

Addr...
...info.unix("/tmp/sock").family_addrinfo("/tmp/sock2")
#=> #<Addrinfo: /tmp/sock2 SOCK_STREAM>

@param host ホスト(IP アドレスもしくはホスト名)
@param port ポート番号(整数)もしくはサービス名(文字列)
@param path Unix domain socket のパス...

Addrinfo#family_addrinfo(path) -> Addrinfo (24079.0)

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

...「似た」の意味はプロトコルファミリ、ソケットタイプ、プロトコルが
同じことを意味します。

require 'socket'

Addrinfo.tcp("0.0.0.0", 4649).family_addrinfo("www.ruby-lang.org", 80)
#=> #<Addrinfo: 221.186.184.68:80 TCP (www.ruby-lang.org:80)>

Addr...
...info.unix("/tmp/sock").family_addrinfo("/tmp/sock2")
#=> #<Addrinfo: /tmp/sock2 SOCK_STREAM>

@param host ホスト(IP アドレスもしくはホスト名)
@param port ポート番号(整数)もしくはサービス名(文字列)
@param path Unix domain socket のパス...

絞り込み条件を変える

Addrinfo#protocol -> Integer (24079.0)

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

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

require 'socket'

Addrinfo.tcp("localhost", 80).protocol == Socket::IPPROTO_TCP #=> true...

Addrinfo#afamily -> Integer (24061.0)

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

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

require 'socket'

Addrinfo.tcp("localhost", 80).afamily == Socket::AF_INET #=> true...

Addrinfo#inspect_sockaddr -> String (24061.0)

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

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

require 'socket'

Addrinfo.tcp("localhost", 80).inspect_sockaddr #=> "127.0.0.1:80"
Addrinfo.tcp("ip6-localhost", 80).inspect_sockaddr #=> "[::1]:80"
Addrinfo.unix("/tmp/sock").inspect_so...

Addrinfo#ip? -> bool (24061.0)

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

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

require 'socket'

Addrinfo.tcp("127.0.0.1", 80).ip? #=> true
Addrinfo.tcp("::1", 80).ip? #=> true
Addrinfo.unix("/tmp/sock").ip? #=> false

@see Addrinfo#ipv4?, Addrinfo#ipv6?, Addrinfo#unix?...

Addrinfo#ip_address -> String (24061.0)

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

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

require 'socket'

Addrinfo.tcp("127.0.0.1", 80).ip_address #=> "127.0.0.1"
Addrinfo.tcp("::1", 80).ip_address #=> "::1"

@see Addrinfo#ip_port, Addrinfo#ip_unpack...

絞り込み条件を変える

Addrinfo#ip_port -> Integer (24061.0)

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

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

require 'socket'

Addrinfo.tcp("127.0.0.1", 80).ip_port #=> 80
Addrinfo.tcp("::1", 80).ip_port #=> 80

@see Addrinfo#ip_address, Addrinfo#ip_unpack...

Addrinfo#ip_unpack -> [String, Integer] (24061.0)

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

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

require 'socket'

Addrinfo.tcp("127.0.0.1", 80).ip_unpack #=> ["127.0.0.1", 80]
Addrinfo.tcp("::1", 80).ip_unpack #=> ["::1", 80]

@see Addrinfo#ip_address, Addrinfo#ip_port...

Addrinfo#ipv4? -> bool (24061.0)

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

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

@see Addrinfo#ip?, Addrinfo#ipv6?

require 'socket'

Addrinfo.tcp("127.0.0.1", 80).ipv4? #=> true
Addrinfo.tcp("::1", 80).ipv4? #=> false
Addrinfo.unix("/tmp/sock").ipv4? #=> false...

Addrinfo#ipv6? -> bool (24061.0)

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

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

require 'socket'

Addrinfo.tcp("127.0.0.1", 80).ipv6? #=> false
Addrinfo.tcp("::1", 80).ipv6? #=> true
Addrinfo.unix("/tmp/sock").ipv6? #=> false

@see Addrinfo#ipv4?, Addrinfo#ip?...

Addrinfo#pfamily -> Integer (24061.0)

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

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

require 'socket'

Addrinfo.tcp("localhost", 80).pfamily == Socket::PF_INET #=> true...

絞り込み条件を変える

Addrinfo#socktype -> Integer (24061.0)

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

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

require 'socket'

Addrinfo.tcp("localhost", 80).socktype == Socket::SOCK_STREAM #=> true...

Addrinfo#to_s -> String (24043.0)

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

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

require 'socket'

Addrinfo.tcp("localhost", 80).to_sockaddr
#=> "\x02\x00\x00P\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"...

Addrinfo#to_sockaddr -> String (24043.0)

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

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

require 'socket'

Addrinfo.tcp("localhost", 80).to_sockaddr
#=> "\x02\x00\x00P\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"...