別のキーワード
種類
- 定数 (56)
- インスタンスメソッド (33)
- 特異メソッド (29)
- クラス (1)
クラス
- Addrinfo (10)
- BasicSocket (2)
- IPSocket (3)
- Socket (44)
-
Socket
:: AncillaryData (17) -
Socket
:: Option (5) -
Socket
:: UDPSource (1) - TCPServer (1)
- TCPSocket (1)
- UDPSocket (3)
- UNIXServer (1)
- UNIXSocket (2)
モジュール
-
Socket
:: Constants (28)
キーワード
-
AF
_ HYLINK (2) -
AF
_ SYSTEM (2) - AncillaryData (1)
-
EAI
_ ADDRFAMILY (2) -
EAI
_ FAMILY (2) -
EAI
_ MEMORY (2) -
EAI
_ SOCKTYPE (2) -
EAI
_ SYSTEM (2) -
IFF
_ ALTPHYS (2) -
IFF
_ DYING (2) -
IFF
_ DYNAMIC (2) -
INADDR
_ ANY (2) -
IPV6
_ RTHDR _ TYPE _ 0 (2) -
IPV6
_ V6ONLY (2) -
IPX
_ TYPE (2) -
IP
_ IPSEC _ POLICY (2) -
IP
_ XFRM _ POLICY (2) -
MSG
_ PROXY (2) -
MSG
_ SYN (2) -
PF
_ HYLINK (2) -
PF
_ KEY (2) -
PF
_ SYSTEM (2) -
SO
_ PRIORITY (2) -
SO
_ SECURITY _ AUTHENTICATION (2) -
SO
_ SECURITY _ ENCRYPTION _ NETWORK (2) -
SO
_ SECURITY _ ENCRYPTION _ TRANSPORT (2) -
SO
_ TYPE (2) -
TCP
_ NODELAY (2) -
TCP
_ SYNCNT (2) - accept (1)
-
accept
_ nonblock (1) - addr (1)
- afamily (1)
- bind (1)
- bool (1)
-
cmsg
_ is? (1) - data (1)
- family (2)
-
family
_ addrinfo (2) - foreach (2)
- getaddrinfo (2)
- gethostbyaddr (1)
- gethostbyname (2)
- getnameinfo (1)
- getservbyname (1)
- getservbyport (1)
- int (3)
-
ip
_ pktinfo (2) -
ipv6
_ pktinfo (2) -
ipv6
_ pktinfo _ addr (1) -
ipv6
_ pktinfo _ ifindex (1) - ipv6only! (1)
- level (1)
- new (5)
- open (2)
- pair (2)
- peeraddr (1)
- pfamily (1)
- recvfrom (1)
-
recvfrom
_ nonblock (1) - recvmsg (1)
-
recvmsg
_ nonblock (1) - reply (1)
- socketpair (2)
- socktype (1)
- sysaccept (3)
- type (1)
- unix (1)
-
unix
_ rights (2) - unpack (1)
-
unpack
_ sockaddr _ in (1)
検索結果
先頭5件
-
Socket
. gethostbyname(host) -> Array (18325.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... -
Addrinfo
# afamily -> Integer (18307.0) -
アドレスファミリーを整数で返します。
...アドレスファミリーを整数で返します。
require 'socket'
Addrinfo.tcp("localhost", 80).afamily == Socket::AF_INET #=> true... -
Addrinfo
# family _ addrinfo(host , port) -> Addrinfo (18307.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 (18307.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
# pfamily -> Integer (18307.0) -
プロトコルファミリーを整数で返します。
...プロトコルファミリーを整数で返します。
require 'socket'
Addrinfo.tcp("localhost", 80).pfamily == Socket::PF_INET #=> true... -
Addrinfo
# socktype -> Integer (18307.0) -
ソケットタイプを整数で返します。
...ソケットタイプを整数で返します。
require 'socket'
Addrinfo.tcp("localhost", 80).socktype == Socket::SOCK_STREAM #=> true... -
Socket
# ipv6only! -> () (18307.0) -
ソケットの IPV6_V6ONLY オプションを有効にします。
ソケットの IPV6_V6ONLY オプションを有効にします。
IPV6_V6ONLY オプションが使えない場合はこのメソッドは何もしません。 -
Socket
# sysaccept -> Array (18307.0) -
接続したクライアントのファイル記述子とアドレスのペアを返すことを除 けば Socket#accept と同じです。
...接続したクライアントのファイル記述子とアドレスのペアを返すことを除
けば Socket#accept と同じです。... -
Socket
. gethostbyaddr(host , type = Socket :: AF _ INET) -> Array (18307.0) -
sockaddr 構造体をパックした文字列からホスト情報を返します。 ホスト情報の構造は Socket.gethostbyname と同じです。 type には、アドレスタイプ(デフォルトは Socket::AF_INET)を指定します。
...は Socket.gethostbyname と同じです。
type には、アドレスタイプ(デフォルトは
Socket::AF_INET)を指定します。
@param host ホストを文字列で指定します。
@param type アドレスタイプ(デフォルトはSocket::AF_INET)を指定します。
@raise SocketEr... -
Socket
. getservbyname(service , proto = "tcp") -> Integer (18307.0) -
service, protoに対応するポート番号を返 します。protoの省略値は"tcp"です。
service, protoに対応するポート番号を返
します。protoの省略値は"tcp"です。
@param service サービス名を文字列で指定します。例えば、"ftp", "telnet" が相当します。
@param proto プロトコル名を文字列で指定します。省略値は"tcp" です。
@return ポート番号を整数で返します。 -
Socket
. getservbyport(port , protocol _ name="tcp") -> String (18307.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
:: AF _ HYLINK -> Integer (18307.0) -
@todo NSC Hyperchannel。 Socket.open の第一引数 domain に使用します。
...@todo
NSC Hyperchannel。
Socket.open の第一引数 domain に使用します。... -
Socket
:: AF _ SYSTEM -> Integer (18307.0) -
@todo
...@todo
Socket.open の第一引数 domain に使用します。... -
Socket
:: AncillaryData # family -> Integer (18307.0) -
自身が保持している socket family を返します。
...自身が保持している socket family を返します。
require 'socket'
p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").family
#=> 10
@see Socket::AncillaryData.new... -
Socket
:: AncillaryData # type -> Integer (18307.0) -
自身が保持している cmsg type (種類) を返します。
...自身が保持している cmsg type (種類) を返します。
require 'socket'
p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").type
#=> 2
@see Socket::AncillaryData.new... -
Socket
:: Constants :: AF _ HYLINK -> Integer (18307.0) -
@todo NSC Hyperchannel。 Socket.open の第一引数 domain に使用します。
...@todo
NSC Hyperchannel。
Socket.open の第一引数 domain に使用します。... -
Socket
:: Constants :: AF _ SYSTEM -> Integer (18307.0) -
@todo
...@todo
Socket.open の第一引数 domain に使用します。... -
Socket
:: Constants :: EAI _ ADDRFAMILY -> Integer (18307.0) -
Address family for hostname not supported
...amily for hostname not supported
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerro... -
Socket
:: Constants :: EAI _ FAMILY -> Integer (18307.0) -
Address family not supported
...Address family not supported
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerror(3f... -
Socket
:: Constants :: EAI _ MEMORY -> Integer (18307.0) -
Memory allocation failure
...Memory allocation failure
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerror(3free... -
Socket
:: Constants :: EAI _ SOCKTYPE -> Integer (18307.0) -
Socket type not supported
...Socket type not supported
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerror(3free... -
Socket
:: Constants :: EAI _ SYSTEM -> Integer (18307.0) -
System error returned in errno
...System error returned in errno
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを適当な例外に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerro... -
Socket
:: Constants :: IFF _ ALTPHYS (18307.0) -
use alternate physical connection
use alternate physical connection -
Socket
:: Constants :: IFF _ DYING (18307.0) -
interface is winding down
interface is winding down -
Socket
:: Constants :: IFF _ DYNAMIC (18307.0) -
dialup device with changing addresses
dialup device with changing addresses -
Socket
:: Constants :: INADDR _ ANY -> Integer (18307.0) -
A socket bound to INADDR_ANY receives packets from all interfaces and sends from the default IP address。 IPv4アドレスの 0.0.0.0 に対応する整数です。
...A socket bound to INADDR_ANY receives packets from
all interfaces and sends from the default IP address。
IPv4アドレスの 0.0.0.0 に対応する整数です。
@see netinet/in.h(header), ip(7linux), ip(4freebsd)... -
Socket
:: Constants :: IPV6 _ RTHDR _ TYPE _ 0 -> Integer (18307.0) -
Routing header type 0。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Routing header type 0。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IPV6,
3542... -
Socket
:: Constants :: IPV6 _ V6ONLY -> Integer (18307.0) -
Only bind IPv6。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Only bind IPv6。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IPV6,
netinet/in.h(header), ip6(4freebsd), ipv6(7linux),
3493... -
Socket
:: Constants :: IPX _ TYPE -> Integer (18307.0) -
@todo
@todo -
Socket
:: Constants :: IP _ IPSEC _ POLICY -> Integer (18307.0) -
IPsec security policy。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...IPsec security policy。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP,
http://netbsd.gw.com/cgi-bin/man-cgi?ip++NetBSD-current... -
Socket
:: Constants :: IP _ XFRM _ POLICY -> Integer (18307.0) -
@todo
@todo -
Socket
:: Constants :: MSG _ PROXY -> Integer (18307.0) -
@todo Wait for full request
@todo
Wait for full request -
Socket
:: Constants :: MSG _ SYN -> Integer (18307.0) -
@todo
@todo -
Socket
:: Constants :: PF _ HYLINK -> Integer (18307.0) -
@todo NSC Hyperchannel。 Socket.open の第一引数 domain に使用します。
...@todo
NSC Hyperchannel。
Socket.open の第一引数 domain に使用します。... -
Socket
:: Constants :: PF _ KEY -> Integer (18307.0) -
Internal key-management function。 Socket.open の第一引数 domain に使用します。
...Internal key-management function。
Socket.open の第一引数 domain に使用します。
@see socket(2freebsd)... -
Socket
:: Constants :: PF _ SYSTEM -> Integer (18307.0) -
@todo
...@todo
Socket.open の第一引数 domain に使用します。... -
Socket
:: Constants :: SO _ PRIORITY -> Integer (18307.0) -
The protocol-defined priority for all packets on this socket。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...The protocol-defined priority for all packets on this socket。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see socket(7linux), ip(7linux)... -
Socket
:: Constants :: SO _ SECURITY _ AUTHENTICATION -> Integer (18307.0) -
@todo
@todo -
Socket
:: Constants :: SO _ SECURITY _ ENCRYPTION _ NETWORK -> Integer (18307.0) -
@todo
@todo -
Socket
:: Constants :: SO _ SECURITY _ ENCRYPTION _ TRANSPORT -> Integer (18307.0) -
@todo
@todo -
Socket
:: Constants :: SO _ TYPE -> Integer (18307.0) -
Get the socket type。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Get the socket type。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see sys/socket.h(header), getsockopt(2freebsd),
socket(7linux), Socket::Constants::SOL_SOCKET... -
Socket
:: Constants :: TCP _ NODELAY -> Integer (18307.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 _ SYNCNT -> Integer (18307.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
:: EAI _ ADDRFAMILY -> Integer (18307.0) -
Address family for hostname not supported
...amily for hostname not supported
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerro... -
Socket
:: EAI _ FAMILY -> Integer (18307.0) -
Address family not supported
...Address family not supported
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerror(3f... -
Socket
:: EAI _ MEMORY -> Integer (18307.0) -
Memory allocation failure
...Memory allocation failure
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerror(3free... -
Socket
:: EAI _ SOCKTYPE -> Integer (18307.0) -
Socket type not supported
...Socket type not supported
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerror(3free... -
Socket
:: EAI _ SYSTEM -> Integer (18307.0) -
System error returned in errno
...System error returned in errno
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを適当な例外に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerro... -
Socket
:: IFF _ ALTPHYS (18307.0) -
use alternate physical connection
use alternate physical connection -
Socket
:: IFF _ DYING (18307.0) -
interface is winding down
interface is winding down -
Socket
:: IFF _ DYNAMIC (18307.0) -
dialup device with changing addresses
dialup device with changing addresses -
Socket
:: INADDR _ ANY -> Integer (18307.0) -
A socket bound to INADDR_ANY receives packets from all interfaces and sends from the default IP address。 IPv4アドレスの 0.0.0.0 に対応する整数です。
...A socket bound to INADDR_ANY receives packets from
all interfaces and sends from the default IP address。
IPv4アドレスの 0.0.0.0 に対応する整数です。
@see netinet/in.h(header), ip(7linux), ip(4freebsd)... -
Socket
:: IPV6 _ RTHDR _ TYPE _ 0 -> Integer (18307.0) -
Routing header type 0。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Routing header type 0。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IPV6,
3542... -
Socket
:: IPV6 _ V6ONLY -> Integer (18307.0) -
Only bind IPv6。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Only bind IPv6。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IPV6,
netinet/in.h(header), ip6(4freebsd), ipv6(7linux),
3493... -
Socket
:: IPX _ TYPE -> Integer (18307.0) -
@todo
@todo -
Socket
:: IP _ IPSEC _ POLICY -> Integer (18307.0) -
IPsec security policy。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...IPsec security policy。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP,
http://netbsd.gw.com/cgi-bin/man-cgi?ip++NetBSD-current... -
Socket
:: IP _ XFRM _ POLICY -> Integer (18307.0) -
@todo
@todo -
Socket
:: MSG _ PROXY -> Integer (18307.0) -
@todo Wait for full request
@todo
Wait for full request -
Socket
:: MSG _ SYN -> Integer (18307.0) -
@todo
@todo -
Socket
:: Option # family -> Integer (18307.0) -
ソケットファミリを表す整数を返します。
ソケットファミリを表す整数を返します。 -
Socket
:: PF _ HYLINK -> Integer (18307.0) -
@todo NSC Hyperchannel。 Socket.open の第一引数 domain に使用します。
...@todo
NSC Hyperchannel。
Socket.open の第一引数 domain に使用します。... -
Socket
:: PF _ KEY -> Integer (18307.0) -
Internal key-management function。 Socket.open の第一引数 domain に使用します。
...Internal key-management function。
Socket.open の第一引数 domain に使用します。
@see socket(2freebsd)... -
Socket
:: PF _ SYSTEM -> Integer (18307.0) -
@todo
...@todo
Socket.open の第一引数 domain に使用します。... -
Socket
:: SO _ PRIORITY -> Integer (18307.0) -
The protocol-defined priority for all packets on this socket。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...The protocol-defined priority for all packets on this socket。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see socket(7linux), ip(7linux)... -
Socket
:: SO _ SECURITY _ AUTHENTICATION -> Integer (18307.0) -
@todo
@todo -
Socket
:: SO _ SECURITY _ ENCRYPTION _ NETWORK -> Integer (18307.0) -
@todo
@todo -
Socket
:: SO _ SECURITY _ ENCRYPTION _ TRANSPORT -> Integer (18307.0) -
@todo
@todo -
Socket
:: SO _ TYPE -> Integer (18307.0) -
Get the socket type。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Get the socket type。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see sys/socket.h(header), getsockopt(2freebsd),
socket(7linux), Socket::Constants::SOL_SOCKET... -
Socket
:: TCP _ NODELAY -> Integer (18307.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 _ SYNCNT -> Integer (18307.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
:: UDPSource # reply(msg) -> () (18307.0) -
msg をリモート側の端点へ送ります。
msg をリモート側の端点へ送ります。
@param msg 送るメッセージ文字列 -
TCPServer
# sysaccept -> Integer (18307.0) -
接続したクライアントのソケットをファイル記述子で返すことを除けば TCPServer#accept と同じです。
...接続したクライアントのソケットをファイル記述子で返すことを除けば
TCPServer#accept と同じです。
例:
require 'socket'
TCPServer.open("", 0) {|serv|
c = TCPSocket.new(*serv.addr.values_at(3,1))
p serv.sysaccept #=> 6
}... -
TCPSocket
. gethostbyname(host) -> Array (18307.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"]... -
UNIXServer
# sysaccept -> Integer (18307.0) -
接続したクライアントのソケットをファイル記述子で返すことを除けば UNIXServer#accept と同じです。
...接続したクライアントのソケットをファイル記述子で返すことを除けば
UNIXServer#accept と同じです。
例:
require 'socket'
UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
p serv.sysaccept #=> 6
}... -
Socket
:: AncillaryData (18007.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 (9307.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 . int(family , cmsg _ level , cmsg _ type , integer) -> Socket :: AncillaryData (9307.0) -
データとして整数を保持する Socket::AncillaryData オブジェクトを生成します。
...持する
Socket::AncillaryData オブジェクトを生成します。
整数データのサイズおよびエンディアンは実行するホストによって異なります。
require 'socket'
p Socket::AncillaryData.int(:UNIX, :SOCKET, :RIGHTS, STDERR.fileno)
#=> #<Socket::AncillaryDa......ta: UNIX SOCKET RIGHTS 2>
@param family ソケットファミリー
@param cmsg_level プロトコル
@param cmsg_type 補助データの種類
@param integer データ内容
@see Socket::AncillaryData.new... -
Socket
:: AncillaryData . ip _ pktinfo(addr , ifindex , spec _ dst=addr) -> Socket :: AncillaryData (9307.0) -
type が IP_PKTINFO である AncillaryData を生成します。
...によっては使えない場合があります。
require 'socket'
addr = Addrinfo.ip("127.0.0.1")
ifindex = 0
spec_dst = Addrinfo.ip("127.0.0.1")
p Socket::AncillaryData.ip_pktinfo(addr, ifindex, spec_dst)
#=> #<Socket::AncillaryData: INET IP PKTINFO 127.0.0.1 ifindex:0 spec_dst:127.......0.0.1>
@param addr アドレス(文字列もしくは Addrinfo)
@param ifindex インターフェースのインデックス(整数)
@param spec_dst パケットのローカルアドレス(文字列もしくは Addrinfo)
@see Socket::AncillaryData#ip_pktinfo,
Socket::Constants::IP_PKTINFO... -
Socket
:: AncillaryData . ipv6 _ pktinfo(addr , ifindex) -> Socket :: AncillaryData (9307.0) -
type が IPV6_PKTINFO である AncillaryData を生成します。
...ta を生成します。
IPV6_PKTINFO は 3542 で定義されています。
require 'socket'
addr = Addrinfo.ip("::1")
ifindex = 0
p Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
#=> #<Socket::AncillaryData: INET6 IPV6 PKTINFO ::1 ifindex:0>
@param addr アドレス(文字列も......しくは Addrinfo)
@param ifindex インターフェースのインデックス(整数)
@see Socket::AncillaryData#ipv6_pktinfo,
Socket::Constants::IPV6_PKTINFO... -
Socket
:: AncillaryData . new(family , cmsg _ level , cmsg _ type , cmsg _ data) -> Socket :: AncillaryData (9307.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... -
Socket
:: AncillaryData . unix _ rights(*ios) -> Socket :: AncillaryData (9307.0) -
ios で指定したファイルのファイルデスクリプタを データとして持つ family=AF_UNIX, level=SOL_SOCKET, type=SCM_RIGHTS という Socket::AncillaryData オブジェクトを生成して返します。
...level=SOL_SOCKET, type=SCM_RIGHTS
という Socket::AncillaryData オブジェクトを生成して返します。
require 'socket'
p Socket::AncillaryData.unix_rights(STDERR)
#=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 2>
@param ios IO オブジェクトの配列
@see Socket::Ancillar......yData#unix_rights,
Socket::Constants::SCM_RIGHTS... -
Socket
:: AncillaryData # data -> String (9007.0) -
自身が保持している cmsg data (データ) を返します。
...自身が保持している cmsg data (データ) を返します。
require 'socket'
p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").type
#=> ""
@see Socket::AncillaryData.new... -
Socket
:: AncillaryData # int -> Integer (9007.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] (9007.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] (9007.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 (9007.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 (9007.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 (9007.0) -
自身が保持している cmsg level (元プロトコル) を返します。
...自身が保持している cmsg level (元プロトコル) を返します。
require 'socket'
p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").level
#=> 41
@see Socket::AncillaryData.new... -
Socket
:: AncillaryData # timestamp -> Time (9007.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 # unix _ rights -> [IO] | nil (9007.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)
_, _, _... -
Addrinfo
. foreach(nodename , service , family=nil , socktype=nil , protocol=nil , flags=0) -> Enumerator (307.0) -
Addrinfo.getaddrinfo で得られる配列の各要素を繰り返します。
Addrinfo.getaddrinfo で得られる配列の各要素を繰り返します。
ブロックを省略した場合は Enumerator を返します。
@param nodename ノード名文字列(ホスト名もしくは IP アドレス)
@param service サービス名(文字列もしくはポート番号の整数)
@param family プロトコルファミリー(整数、文字列、シンボル、もしくは nil)
@param socktype ソケットタイプ(整数、文字列、シンボル、もしくは nil)
@param protocol プロトコル(整数、もしくは nil)
@param flags フラグ(... -
Addrinfo
. foreach(nodename , service , family=nil , socktype=nil , protocol=nil , flags=0) {|addrinfo| . . . } -> [Addrinfo] (307.0) -
Addrinfo.getaddrinfo で得られる配列の各要素を繰り返します。
Addrinfo.getaddrinfo で得られる配列の各要素を繰り返します。
ブロックを省略した場合は Enumerator を返します。
@param nodename ノード名文字列(ホスト名もしくは IP アドレス)
@param service サービス名(文字列もしくはポート番号の整数)
@param family プロトコルファミリー(整数、文字列、シンボル、もしくは nil)
@param socktype ソケットタイプ(整数、文字列、シンボル、もしくは nil)
@param protocol プロトコル(整数、もしくは nil)
@param flags フラグ(... -
Addrinfo
. getaddrinfo(nodename , service , family=nil , socktype=nil , protocol=nil , flags=0) -> [Addrinfo] (307.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
. new(sockaddr , family=Socket :: PF _ UNSPEC , socktype=0 , protocol=0) -> Addrinfo (307.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
. unix(path , socktype=Socket :: SOCK _ STREAM) -> Addrinfo (307.0) -
Unix ソケットアドレスに対応する Addrinfo オブジェクトを返します。
...トアドレスに対応する Addrinfo オブジェクトを返します。
socktype でソケットタイプを指定します。
require 'socket'
Addrinfo.unix("/tmp/sock") #=> #<Addrinfo: /tmp/sock SOCK_STREAM>
Addrinfo.unix("/tmp/sock", :DGRAM) #=> #<Addrinfo: /tmp/sock SOCK_DG... -
BasicSocket
# recvmsg(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (307.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 の場合には送り元の... -
BasicSocket
# recvmsg _ nonblock(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (307.0) -
recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。
...recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。
ブロッキングの有無以外は BasicSocket#recvmsg と同じです。
詳しくはそちらを参照してください。
@param maxmesglen 受け取るメッセージの最大長
@param flags... -
IPSocket
# addr -> Array (307.0) -
ソケットの接続情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_INET", "AF_INET6" など、第2要素が port 番号、第3要素がホストを表 す文字列、第4要素がホストの IP アドレスを表す文字列 (octet decimal や hexadecimal) です。
...Errno::EXXX getsockname(2) が 0 未満の値を返した場合に発生します。
例:
require 'socket'
serv = TCPServer.new("localhost", 0)
p serv.addr #=> ["AF_INET", 46102, "localhost.localdomain", "127.0.0.1"]
c = TCPSocket.new(*serv.addr.values_at(3,1))
s = serv.accept... -
IPSocket
# peeraddr -> Array (307.0) -
接続相手先ソケットの情報を表す配列を返します。配列の各要素は IPSocket#addr メソッドが返す配列 と同じです。
...表す配列を返します。配列の各要素は
IPSocket#addr メソッドが返す配列
と同じです。
@raise Errno::EXXX getpeername(2) が 0 未満の値を返した場合に発生します。
例:
require 'socket'
TCPSocket.open("localhost", "http") {|s|
p s.peeraddr #=>... -
IPSocket
# recvfrom(maxlen , flags = 0) -> Array (307.0) -
recv と同様にソケットからデータを受け取りますが、 戻り値は文字列と相手ソケットのアドレス (形式は IPSocket#addr 参照) のペアです。引数につ いては BasicSocket#recv と同様です。
...からデータを受け取りますが、
戻り値は文字列と相手ソケットのアドレス (形式は
IPSocket#addr 参照) のペアです。引数につ
いては BasicSocket#recv と同様です。
@param maxlen 受け取る文字列の最大の長さを指定します。
@param flags......X recvfrom(2) がエラーになった場合などに発生します。
例:
require 'socket'
s1 = UDPSocket.new
s1.bind("0.0.0.0", 0) # 適当に空いている port を割り当てる
s2 = UDPSocket.new
s2.send("foo", 0, s1.getsockname)
mesg, inet_addr = s1.recvfrom(100)
p mesg...