るりまサーチ (Ruby 3.1)

最速Rubyリファレンスマニュアル検索!
1028件ヒット [101-200件を表示] (0.076秒)
トップページ > バージョン:3.1[x] > ライブラリ:socket[x]

モジュール

キーワード

検索結果

<< < 1 2 3 4 ... > >>

Socket.gethostbyaddr(host, type = Socket::AF_INET) -> Array (7.0)

sockaddr 構造体をパックした文字列からホスト情報を返します。 ホスト情報の構造は Socket.gethostbyname と同じです。 type には、アドレスタイプ(デフォルトは Socket::AF_INET)を指定します。

... Socket.gethostbyname と同じです。
type には、アドレスタイプ(デフォルトは
Socket
::AF_INET)を指定します。

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

@param type アドレスタイプ(デフォルトはSocket::AF_INET)を指定します。

@raise SocketEr...

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

Socket.getifaddrs -> [Socket::Ifaddr] (7.0)

インターフェイスのアドレスを Socket::Ifaddr の配列で返します。

...スを Socket::Ifaddr の配列で返します。

本メソッドはマルチキャスト通信が可能なインターフェイスを見つけるために使う事ができます。

require 'socket'

pp Socket.getifaddrs.reject {|ifaddr|
!ifaddr.addr.ip? || (ifaddr.flags & Socket::IFF_MUL...
...nfo: fe80::216:3eff:fe95:88bb%eth0>]]

例(GNU/Linux):

require 'socket'

pp Socket.getifaddrs
#=> [#<Socket::Ifaddr lo UP,LOOPBACK,RUNNING,0x10000 PACKET[protocol=0 lo hatype=772 HOST hwaddr=00:00:00:00:00:00]>,
# #<Socket::Ifaddr eth0 UP,BROADCAST,RUNNING,MULTICAST,0x10000 PACKET[protoc...
...eth0 hatype=1 HOST hwaddr=ff:ff:ff:ff:ff:ff]>,
# #<Socket::Ifaddr sit0 NOARP PACKET[protocol=0 sit0 hatype=776 HOST hwaddr=00:00:00:00]>,
# #<Socket::Ifaddr lo UP,LOOPBACK,RUNNING,0x10000 127.0.0.1 netmask=255.0.0.0>,
# #<Socket::Ifaddr eth0 UP,BROADCAST,RUNNING,MULTICAST,0x10000 221...

Socket.getnameinfo(sa, flags = 0) -> Array (7.0)

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

...ise SocketError getnameinfo(3) がエラーを起こした場合に生じる例外

@see Addrinfo#getnameinfo

=== 引数 sa について
引数 sa には文字列か配列を与えます。文字列の場合は sockaddr 構造体
のパック文字列を与えます。具体的には BasicSocket#ge...
...素が4つの場合:
[アドレスファミリー, サービス, 任意, アドレスを表す文字列]

アドレスファミリーには Socket::AF_INET 等の定数の他に文字列
で "AF_INET" もしくは "AF_INET6" もしくは nil が
指定できます。ただしIPv6が使えな...
...なります。アドレスファミリーに
nil を指定することは Socket::AF_UNSPEC を指定すること
と等価です。

サービス、ホストの指定に関しては lib:socket#service_format、
lib:socket#host_formatを参照してください。

要素が3つの場合でも、...

絞り込み条件を変える

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

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

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

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

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

Socket.getservbyport(port, protocol_name="tcp") -> String (7.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.ip_address_list -> [Addrinfo] (7.0)

ローカルの IP アドレスを配列で返します。

ローカルの IP アドレスを配列で返します。

Socket.new(domain, type, protocol=0) -> Socket (7.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 (7.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.pack_sockaddr_in(port, host) -> String (7.0)

指定したアドレスをlib:socket#pack_string で返します。port は、ポート番号を表す Fixnum あるいは、ポート 番号、サービス名を表す文字列です。

...指定したアドレスをlib:socket#pack_string
で返します。port は、ポート番号を表す Fixnum あるいは、ポート
番号、サービス名を表す文字列です。

@param port ポート番号を表す Fixnum あるいは、ポート番号、サービス名を表す文字...
...します。

@return 指定したアドレスを返します。

例:

require 'socket'
p Socket.sockaddr_in("echo", "localhost")
=> "\002\000\000\a\177\000\000\001\000\000\000\000\000\000\000\000"
p Socket.sockaddr_in("echo", "::1")
=> "\n\000\000\a\000\000\000\000\000\000\000\000\000\00...

Socket.pack_sockaddr_un(path) -> String (7.0)

指定したアドレスをlib:socket#pack_string で返します。

...指定したアドレスをlib:socket#pack_string
で返します。

@param path パスを文字列で指定します。

例:

require 'socket'
p Socket.sockaddr_un("/tmp/.X11-unix/X0")
=> "\001\000/tmp/.X11-unix/X0\000...."...

Socket.pair(domain, type, protocol=0) -> Array (7.0)

相互に結合されたソケットのペアを含む2要素の配列を返します。 引数の指定は Socket.open と同じです。

...のペアを含む2要素の配列を返します。
引数の指定は Socket.open と同じです。

@param domain Socket.open を参照してください。

@param type Socket.open を参照してください。

@param protocol Socket.open を参照してください。

@see Socket.open...

Socket.sockaddr_in(port, host) -> String (7.0)

指定したアドレスをlib:socket#pack_string で返します。port は、ポート番号を表す Fixnum あるいは、ポート 番号、サービス名を表す文字列です。

...指定したアドレスをlib:socket#pack_string
で返します。port は、ポート番号を表す Fixnum あるいは、ポート
番号、サービス名を表す文字列です。

@param port ポート番号を表す Fixnum あるいは、ポート番号、サービス名を表す文字...
...します。

@return 指定したアドレスを返します。

例:

require 'socket'
p Socket.sockaddr_in("echo", "localhost")
=> "\002\000\000\a\177\000\000\001\000\000\000\000\000\000\000\000"
p Socket.sockaddr_in("echo", "::1")
=> "\n\000\000\a\000\000\000\000\000\000\000\000\000\00...

Socket.sockaddr_un(path) -> String (7.0)

指定したアドレスをlib:socket#pack_string で返します。

...指定したアドレスをlib:socket#pack_string
で返します。

@param path パスを文字列で指定します。

例:

require 'socket'
p Socket.sockaddr_un("/tmp/.X11-unix/X0")
=> "\001\000/tmp/.X11-unix/X0\000...."...

絞り込み条件を変える

Socket.socketpair(domain, type, protocol=0) -> Array (7.0)

相互に結合されたソケットのペアを含む2要素の配列を返します。 引数の指定は Socket.open と同じです。

...のペアを含む2要素の配列を返します。
引数の指定は Socket.open と同じです。

@param domain Socket.open を参照してください。

@param type Socket.open を参照してください。

@param protocol Socket.open を参照してください。

@see Socket.open...

Socket.tcp(host, port, local_host=nil, local_port=nil, connect_timeout: nil) -> Socket (7.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 (7.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_loop(host, port) {|sock,addr| ...} -> () (7.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| ...} -> () (7.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_sockets(host, port) -> [Socket] (7.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 (7.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] (7.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 (7.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.udp_server_loop(host, port) {|msg, msg_src| ... } -> () (7.0)

UDP のサーバを起動して、メッセージが来るごとに ブロックを呼び出します。

...と msg_src の 2 つで、
msg は受け取ったメッセージ文字列で、 msg_src は
通信相手の Socket::UDPSource オブジェクトです。

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

絞り込み条件を変える

Socket.udp_server_loop(port) {|msg, msg_src| ... } -> () (7.0)

UDP のサーバを起動して、メッセージが来るごとに ブロックを呼び出します。

...と msg_src の 2 つで、
msg は受け取ったメッセージ文字列で、 msg_src は
通信相手の Socket::UDPSource オブジェクトです。

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

Socket.udp_server_loop_on(sockets) {|msg, msg_src| ... } -> () (7.0)

sockets (UDP のソケット)に対し、通信を待ち受けます。

...
socket
s (UDP のソケット)に対し、通信を待ち受けます。

Socket
.udp_server_sockets の返り値がこれの引数に適切です。

ソケットからメッセージを受け取るたびにブロックを呼び出します。
ブロックに渡される引数は msg と msg_src の...
...つで、
msg は受け取ったメッセージ文字列で、 msg_src は
通信相手の Socket::UDPSource オブジェクトです。

無限ループ構造になっています。

@param sockets 通信を待ち受けるソケットの配列
@see Socket.udp_server_recv, Socket.udp_server_loop...

Socket.udp_server_recv(sockets) {|msg, msg_src| ... } -> () (7.0)

socketsで与えられた各 UDP ソケットからデータを読み取ります。

...socketsで与えられた各 UDP ソケットからデータを読み取ります。

各ソケットからメッセージを読み取るごとにブロックを呼び出します。
ブロックに渡される引数は msg と msg_src の 2 つで、
msg は受け取ったメッセージ文字列...
...通信相手の Socket::UDPSource オブジェクトです。

Socket
.udp_server_loop はこのメソッドの用いて以下のようにして
実装できます。

require 'socket'

udp_server_sockets(host, port) {|sockets|
loop {
readable, _, _ = IO.select(sockets)
udp_serv...
...er_recv(readable) {|msg, msg_src| ... }
}
}

@param sockets 読み込むソケットの配列...

Socket.udp_server_sockets(host, port) -> [Sockets] (7.0)

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

...はすべて同じ番号を持ちます。

# UDP/IP echo server
require 'socket'

Socket
.udp_server_sockets(0) {|sockets|
p sockets.first.local_address.ip_port #=> 32963
Socket
.udp_server_loop_on(sockets) {|msg, msg_src|
msg_src.reply msg
}
}

@param host 割り当て...

Socket.udp_server_sockets(host, port) {|sockets| ... } -> object (7.0)

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

...はすべて同じ番号を持ちます。

# UDP/IP echo server
require 'socket'

Socket
.udp_server_sockets(0) {|sockets|
p sockets.first.local_address.ip_port #=> 32963
Socket
.udp_server_loop_on(sockets) {|msg, msg_src|
msg_src.reply msg
}
}

@param host 割り当て...

絞り込み条件を変える

Socket.udp_server_sockets(port) -> [Sockets] (7.0)

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

...はすべて同じ番号を持ちます。

# UDP/IP echo server
require 'socket'

Socket
.udp_server_sockets(0) {|sockets|
p sockets.first.local_address.ip_port #=> 32963
Socket
.udp_server_loop_on(sockets) {|msg, msg_src|
msg_src.reply msg
}
}

@param host 割り当て...

Socket.udp_server_sockets(port) {|sockets| ... } -> object (7.0)

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

...はすべて同じ番号を持ちます。

# UDP/IP echo server
require 'socket'

Socket
.udp_server_sockets(0) {|sockets|
p sockets.first.local_address.ip_port #=> 32963
Socket
.udp_server_loop_on(sockets) {|msg, msg_src|
msg_src.reply msg
}
}

@param host 割り当て...

Socket.unix(path) -> Socket (7.0)

Unix クライアントソケットを生成します。

...ロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。

require 'socket'

# /tmp/sock と通信する
Socket
.unix("/tmp/sock") {|sock|
t = Thread.new { IO.copy_stream(sock, STDOUT) }
IO.copy_stream(STDIN, sock)
t.join
}...

Socket.unix(path) {|sock| ... } -> object (7.0)

Unix クライアントソケットを生成します。

...ロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。

require 'socket'

# /tmp/sock と通信する
Socket
.unix("/tmp/sock") {|sock|
t = Thread.new { IO.copy_stream(sock, STDOUT) }
IO.copy_stream(STDIN, sock)
t.join
}...

Socket.unix_server_loop(path) {|socket, client_addrinfo| ... } -> () (7.0)

Unix サーバソケットを生成し、 新しい接続を受け入れるごとにブロックを呼び出します。

...全です。
つまり、 /tmp/malicious-users-directory/socket という名前のパスは
使うべきではありません。
/tmp にスティッキービットが立っている場合、/tmp/socket
/tmp/your-private-directory/socket というパス名は安全と考えて良いでしょう...

絞り込み条件を変える

Socket.unix_server_socket(path) -> Socket (7.0)

Unix サーバソケットを生成します。

...ます。

require 'socket'

socket
= Socket.unix_server_socket("/tmp/s")
p socket #=> #<Socket:fd 3>
p socket.local_address #=> #<Addrinfo: /tmp/s SOCK_STREAM>

Socket
.unix_server_socket("/tmp/sock") {|s|
p s #=> #<Socket:fd 3>
p s.local_a...

Socket.unix_server_socket(path) {|sock| ... } -> object (7.0)

Unix サーバソケットを生成します。

...ます。

require 'socket'

socket
= Socket.unix_server_socket("/tmp/s")
p socket #=> #<Socket:fd 3>
p socket.local_address #=> #<Addrinfo: /tmp/s SOCK_STREAM>

Socket
.unix_server_socket("/tmp/sock") {|s|
p s #=> #<Socket:fd 3>
p s.local_a...

Socket.unpack_sockaddr_in(sockaddr) -> Array (7.0)

lib:socket#pack_stringを unpack したアドレスを返します。返される値は [port, ipaddr] の配列です。

...lib:socket#pack_stringを
unpack したアドレスを返します。返される値は [port, ipaddr]
の配列です。

@param sockaddr lib:socket#pack_stringを指定します。

例:

require 'socket'
p Socket.unpack_sockaddr_in(Socket.sockaddr_in("echo", "localhost"))
=> [7, "127.0.0.1...
..."]
p Socket.unpack_sockaddr_in(Socket.sockaddr_in("echo", "::1"))
=> [7, "::1"]...

Socket.unpack_sockaddr_un(sockaddr) -> String (7.0)

lib:socket#pack_stringを unpack したソケットパス名を返します。

...lib:socket#pack_stringを
unpack したソケットパス名を返します。

@param sockaddr lib:socket#pack_stringを指定します。

例:

require 'socket'
p Socket.unpack_sockaddr_un(Socket.sockaddr_un("/tmp/.X11-unix/X0"))
=> "/tmp/.X11-unix/X0"...

Socket::AF_APPLETALK -> Integer (7.0)

Apple talk。 Socket.open の第一引数 domain に使用します。

...Apple talk。
Socket
.open の第一引数 domain に使用します。

@see socket(2linux), socket(2freebsd), ddp(7linux)...

絞り込み条件を変える

Socket::AF_ATM -> Integer (7.0)

ATM。 Socket.open の第一引数 domain に使用します。

...ATM。
Socket
.open の第一引数 domain に使用します。

@see socket(2freebsd)...

Socket::AF_AX25 -> Integer (7.0)

ITU-T X.25 / ISO-8208。 Socket.open の第一引数 domain に使用します。

...ITU-T X.25 / ISO-8208。
Socket
.open の第一引数 domain に使用します。

@see socket(2linux)...

Socket::AF_CCITT -> Integer (7.0)

@todo CCITT プロトコル。 Socket.open の第一引数 domain に使用します。

...@todo
CCITT プロトコル。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_CHAOS -> Integer (7.0)

@todo MIT CHAOS プロトコル。 Socket.open の第一引数 domain に使用します。

...@todo
MIT CHAOS プロトコル。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_CNT -> Integer (7.0)

@todo Computer Network Technology。 Socket.open の第一引数 domain に使用します。

...@todo
Computer Network Technology。
Socket
.open の第一引数 domain に使用します。...

絞り込み条件を変える

Socket::AF_COIP -> Integer (7.0)

@todo connection-oriented IP。 Socket.open の第一引数 domain に使用します。

...@todo
connection-oriented IP。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_DATAKIT -> Integer (7.0)

@todo datakit protocol。 Socket.open の第一引数 domain に使用します。

...@todo
datakit protocol。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_DEC -> Integer (7.0)

@todo DECnet protocol。 Socket.open の第一引数 domain に使用します。

...@todo
DECnet protocol。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_DLI -> Integer (7.0)

@todo DEC Direct data link interface。 Socket.open の第一引数 domain に使用します。

...@todo
DEC Direct data link interface。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_E164 -> Integer (7.0)

@todo CCITT E.164 recommendation。 Socket.open の第一引数 domain に使用します。

...@todo
CCITT E.164 recommendation。
Socket
.open の第一引数 domain に使用します。...

絞り込み条件を変える

Socket::AF_ECMA -> Integer (7.0)

@todo European computer manufacturers。 Socket.open の第一引数 domain に使用します。

...@todo
European computer manufacturers。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_HYLINK -> Integer (7.0)

@todo NSC Hyperchannel。 Socket.open の第一引数 domain に使用します。

...@todo
NSC Hyperchannel。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_IMPLINK -> Integer (7.0)

@todo ARPANET IMP。 Socket.open の第一引数 domain に使用します。

...@todo
ARPANET IMP。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_INET -> Integer (7.0)

IPv4。 Socket.open の第一引数 domain に使用します。

...IPv4。
Socket
.open の第一引数 domain に使用します。

@see sys/socket.h(header), socket(2freebsd), ip(7linux)...

Socket::AF_INET6 -> Integer (7.0)

IPv6。 Socket.open の第一引数 domain に使用します。

...IPv6。
Socket
.open の第一引数 domain に使用します。

@see sys/socket.h(header), socket(2freebsd), ipv6(7linux)...

絞り込み条件を変える

Socket::AF_IPX -> Integer (7.0)

IPX(Novell Internet Packet eXchange protocol)。 Socket.open の第一引数 domain に使用します。

...IPX(Novell Internet Packet eXchange protocol)。
Socket
.open の第一引数 domain に使用します。

@see socket(3linux)...

Socket::AF_ISDN -> Integer (7.0)

@todo Integrated Services Digital Network。 Socket.open の第一引数 domain に使用します。

...@todo
Integrated Services Digital Network。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_ISO -> Integer (7.0)

@todo ISO Open Systems Interconnection protocols。 Socket.open の第一引数 domain に使用します。

...@todo
ISO Open Systems Interconnection protocols。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_LAT -> Integer (7.0)

@todo Local Area Transport protocol。 Socket.open の第一引数 domain に使用します。

...@todo
Local Area Transport protocol。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_LINK -> Integer (7.0)

@todo Link layer interface。 Socket.open の第一引数 domain に使用します。

...@todo
Link layer interface。
Socket
.open の第一引数 domain に使用します。...

絞り込み条件を変える

Socket::AF_LOCAL -> Integer (7.0)

Unix domain socket。 Socket.open の第一引数 domain に使用します。

...Unix domain socket
Socket
.open の第一引数 domain に使用します。

@see sys/socket.h(header), unix(7linux)...

Socket::AF_MAX -> Integer (7.0)

対象のプラットフォーム上でのアドレスファミリーの最大の数値。

...対象のプラットフォーム上でのアドレスファミリーの最大の数値。

@see Socket::Constants::PF_MAX...

Socket::AF_NATM -> Integer (7.0)

@todo Native ATM access。 Socket.open の第一引数 domain に使用します。

...@todo
Native ATM access。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_NDRV -> Integer (7.0)

@todo Network driver raw access。 Socket.open の第一引数 domain に使用します。

...@todo
Network driver raw access。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_NETBIOS -> Integer (7.0)

@todo NetBIOS。 Socket.open の第一引数 domain に使用します。

...@todo
NetBIOS。
Socket
.open の第一引数 domain に使用します。...

絞り込み条件を変える

Socket::AF_NETGRAPH -> Integer (7.0)

Netgraph sockets。 Socket.open の第一引数 domain に使用します。

...Netgraph sockets。
Socket
.open の第一引数 domain に使用します。

@see socket(2freebsd)...

Socket::AF_NS -> Integer (7.0)

@todo XEROX NS protocol。 Socket.open の第一引数 domain に使用します。

...@todo
XEROX NS protocol。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_OSI -> Integer (7.0)

@todo ISO Open Systems Interconnection protocols。 Socket.open の第一引数 domain に使用します。

...@todo
ISO Open Systems Interconnection protocols。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_PACKET -> Integer (7.0)

デバイスレベルインターフェース。 Socket.open の第一引数 domain に使用します。

...デバイスレベルインターフェース。
Socket
.open の第一引数 domain に使用します。

@see socket(2linux), packet(7linux)...

Socket::AF_PPP -> Integer (7.0)

@todo Point-to-Point Protocol。 Socket.open の第一引数 domain に使用します。

...@todo
Point-to-Point Protocol。
Socket
.open の第一引数 domain に使用します。...

絞り込み条件を変える

Socket::AF_PUP -> Integer (7.0)

PUP(PARC Universal Packet)。 Socket.open の第一引数 domain に使用します。

...PUP(PARC Universal Packet)。
Socket
.open の第一引数 domain に使用します。

@see socket(2freebsd)...

Socket::AF_ROUTE -> Integer (7.0)

@todo Internal Routing protocol。 Socket.open の第一引数 domain に使用します。

...@todo
Internal Routing protocol。
Socket
.open の第一引数 domain に使用します。

@todo...

Socket::AF_SIP -> Integer (7.0)

@todo Simple Internet Protocol。 Socket.open の第一引数 domain に使用します。

...@todo
Simple Internet Protocol。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_SNA -> Integer (7.0)

@todo IBM SNA protocol。 Socket.open の第一引数 domain に使用します。

...@todo
IBM SNA protocol。
Socket
.open の第一引数 domain に使用します。...

Socket::AF_SYSTEM -> Integer (7.0)

@todo

...@todo

Socket
.open の第一引数 domain に使用します。...

絞り込み条件を変える

Socket::AF_UNIX -> Integer (7.0)

Unix domain socket。 Socket.open の第一引数 domain に使用します。

...Unix domain socket
Socket
.open の第一引数 domain に使用します。

@see sys/socket.h(header), unix(7linux)...

Socket::AF_UNSPEC -> Integer (7.0)

アドレスファミリー不定。

...アドレスファミリー不定。

@see Socket.open, sys/socket.h(header)...

Socket::AI_ADDRCONFIG -> Integer (7.0)

Accept only if any address is assigned。

...Accept only if any address is assigned。

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

@see getaddrinfo(3)...

Socket::AI_ALL -> Integer (7.0)

Allow all addresses。

...Allow all addresses。

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

@see getaddrinfo(3)...

Socket::AI_CANONNAME -> Integer (7.0)

Fill in the canonical name。

...Fill in the canonical name。

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

@see getaddrinfo(3)...

絞り込み条件を変える

Socket::AI_DEFAULT -> Integer (7.0)

Default flags for getaddrinfo。

...Default flags for getaddrinfo。

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

@see getipnodebyname(3freebsd)...

Socket::AI_MASK -> Integer (7.0)

@todo

@todo

Socket::AI_NUMERICHOST -> Integer (7.0)

Prevent host name resolution。

...Prevent host name resolution。

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

@see getaddrinfo(3)...

Socket::AI_NUMERICSERV -> Integer (7.0)

Prevent server name resolution。

...Prevent server name resolution。

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

@see getaddrinfo(3)...

Socket::AI_PASSIVE -> Integer (7.0)

Get address to use with bind。

...Get address to use with bind。

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

@see getaddrinfo(3)...

絞り込み条件を変える

Socket::AI_V4MAPPED -> Integer (7.0)

Accept IPv4-mapped IPv6 addresses。

...Accept IPv4-mapped IPv6 addresses。

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

@see getaddrinfo(3)...

Socket::AI_V4MAPPED_CFG -> Integer (7.0)

Accept IPv4 mapped addresses if the kernel supports it。

...Accept IPv4 mapped addresses if the kernel supports it。

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

@see getipnodebyname(3freebsd)...

Socket::AncillaryData (7.0)

BasicSocket#sendmsg や BasicSocket#recvmsg で用いる ancillary data (補助データ、制御情報) を表すクラスです。

...BasicSocket#sendmsg や BasicSocket#recvmsg
で用いる ancillary data (補助データ、制御情報)
を表すクラスです。

Socket
::AncillaryData#family(socket family),
Socket
::AncillaryData#level(cmsg level),
Socket
::AncillaryData#type(cmsg type),
Socket
::AncillaryData#data(cmsg data),...

Socket::AncillaryData#cmsg_is?(level, type) -> bool (7.0)

自身の level と type が引数のものと一致している場合に真を返します。

...require 'socket'

ancdata = Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "")
ancdata.cmsg_is?(Socket::IPPROTO_IPV6, Socket::IPV6_PKTINFO) #=> true
ancdata.cmsg_is?(:IPV6, :PKTINFO) #=> true
ancdata.cmsg_is?(:IP, :PKTINFO) #=> false
ancdata.cmsg_is?(:SOCKET, :RIGHTS)...
...#=> false

@param level 一致を確認する cmsg_level (文字列、シンボル、整数)
@param type 一致を確認する cmsg_type (文字列、シンボル、整数)
@see Socket::AncillaryData#level, Socket::AncillaryData#type...

Socket::AncillaryData#data -> String (7.0)

自身が保持している cmsg data (データ) を返します。

...自身が保持している cmsg data (データ) を返します。

require 'socket'

p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").type
#=> ""

@see Socket::AncillaryData.new...

絞り込み条件を変える

Socket::AncillaryData#family -> Integer (7.0)

自身が保持している socket family を返します。

...自身が保持している socket family を返します。

require 'socket'

p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").family
#=> 10

@see Socket::AncillaryData.new...

Socket::AncillaryData#int -> Integer (7.0)

自身が保持している cmsg data (データ) を整数の形で返します。

...異なります。

require 'socket'

ancdata = Socket::AncillaryData.int(:UNIX, :SOCKET, :RIGHTS, STDERR.fileno)
p ancdata.int #=> 2

@raise TypeError cmgs data のサイズが int のバイト数と異なる場合に発生します
@see Socket::AncillaryData.new Socket::AncillaryData.int...

Socket::AncillaryData#ip_pktinfo -> [Addrinfo, Integer, Addrinfo] (7.0)

自身の type が IP_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス、ローカルアドレス) を3要素の配列で返します。

...張であり、システムによっては使えない場合があります。

require 'socket'

addr = Addrinfo.ip("127.0.0.1")
ifindex = 0
spec_dest = Addrinfo.ip("127.0.0.1")
ancdata = Socket::AncillaryData.ip_pktinfo(addr, ifindex, spec_dest)
p ancdata.ip_pktinfo
#=> [#<Addrinfo:...
...127.0.0.1>, 0, #<Addrinfo: 127.0.0.1>]

@raise TypeError level, type が IPPROTO_IP, IP_PKTINFO でない場合に
発生します。
@see Socket::AncillaryData.ip_pktinfo,
Socket
::Constants::IP_PKTINFO...

Socket::AncillaryData#ipv6_pktinfo -> [Addrinfo, Integer] (7.0)

自身の type が IPV6_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス) を2要素の配列で返します。

...

require 'socket'

addr = Addrinfo.ip("::1")
ifindex = 0
ancdata = Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
p ancdata.ipv6_pktinfo #=> [#<Addrinfo: ::1>, 0]

@see Socket::AncillaryData.ipv6_pktinfo,
Socket
::AncillaryData#ipv6_pktinfo_addr,
Socket
::AncillaryData#ipv...
...6_pktinfo_ifindex,
Socket
::Constants::IPV6_PKTINFO...

Socket::AncillaryData#ipv6_pktinfo_addr -> Addrinfo (7.0)

自身の type が IPV6_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス) のアドレスを返します。

...す。

require 'socket'

addr = Addrinfo.ip("::1")
ifindex = 0
ancdata = Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
p ancdata.ipv6_pktinfo_addr #=> #<Addrinfo: ::1>

@see Socket::AncillaryData.ipv6_pktinfo,
Socket
::AncillaryData#ipv6_pktinfo,
Socket
::AncillaryData#ipv6_...

絞り込み条件を変える

Socket::AncillaryData#ipv6_pktinfo_ifindex -> Integer (7.0)

自身の type が IPV6_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス) のインデックスを返します。

...e 'socket'

addr = Addrinfo.ip("::1")
ifindex = 0
ancdata = Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
p ancdata.ipv6_pktinfo_ifindex #=> 0

@see Socket::AncillaryData.ipv6_pktinfo,
Socket
::AncillaryData#ipv6_pktinfo,
Socket
::AncillaryData#ipv6_pktinfo_addr,
Socket
::C...

Socket::AncillaryData#level -> Integer (7.0)

自身が保持している cmsg level (元プロトコル) を返します。

...自身が保持している cmsg level (元プロトコル) を返します。

require 'socket'

p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").level
#=> 41

@see Socket::AncillaryData.new...

Socket::AncillaryData#timestamp -> Time (7.0)

タイムスタンプ制御メッセージに含まれる時刻を Time オブジェクト で返します。

...以下のいずれかです。
* SOL_SOCKET/SCM_TIMESTAMP (micro second) GNU/Linux, FreeBSD, NetBSD, OpenBSD, Solaris, MacOS X
* SOL_SOCKET/SCM_TIMESTAMPNS (nano second) GNU/Linux
* SOL_SOCKET/SCM_BINTIME (2**(-64) second) FreeBSD

require 'socket'

Addrinfo.udp("127.0.0.1", 0).bind {|s...
...1|
Addrinfo.udp("127.0.0.1", 0).bind {|s2|
s1.setsockopt(:SOCKET, :TIMESTAMP, true)
s2.send "a", 0, s1.local_address
ctl = s1.recvmsg.last
p ctl
#=> #<Socket::AncillaryData: INET SOCKET TIMESTAMP 2009-02-24 17:35:46.775581>
t = ctl.timestamp
p t...
...00
p t.usec #=> 775581
p t.nsec #=> 775581000
}
}

@see Socket::Constants::SCM_TIMESTAMP,
Socket
::Constants::SCM_TIMESTAMPNS,
Socket
::Constants::SCM_BINTIME,
Socket
::Constants::SO_TIMESTAMP,
Socket
::Constants::SO_TIMESTAMPNS,
Socket
::Constants::SO_BINTIME...

Socket::AncillaryData#type -> Integer (7.0)

自身が保持している cmsg type (種類) を返します。

...自身が保持している cmsg type (種類) を返します。

require 'socket'

p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").type
#=> 2

@see Socket::AncillaryData.new...

Socket::AncillaryData#unix_rights -> [IO] | nil (7.0)

Unix domain socket の SCM_RIGHTS 制御メッセージに含まれる ファイルディスクリプタを IO オブジェクトの配列として返します。

...Unix domain socket の SCM_RIGHTS 制御メッセージに含まれる
ファイルディスクリプタを IO オブジェクトの配列として返します。

得られる IO オブジェクトか IO か Socket です。

この配列は Socket::AncillaryData が初期化されたときに
...
...られます。例えば BasicSocket#recvmsg を :scm_rights => true
オプションを付けて呼びだし、
SCM_RIGHTS な 制御メッセージを受け取ったときに配列が作られます。
適切なオプションを指定しなかった場合は配列は生成されず、
このメ...
...ッドは nil を返します。

require 'socket'

# recvmsg needs :scm_rights=>true for unix_rights
s1, s2 = UNIXSocket.pair
p s1 #=> #<UNIXSocket:fd 3>
s1.sendmsg "stdin and a socket", 0, nil, Socket::AncillaryData.unix_rights(STDIN, s1)
_, _, _...

絞り込み条件を変える

<< < 1 2 3 4 ... > >>