種類
- 定数 (740)
- インスタンスメソッド (124)
- 特異メソッド (74)
- クラス (7)
クラス
- Addrinfo (54)
- BasicSocket (19)
- IPSocket (4)
- SOCKSSocket (2)
- Socket (417)
-
Socket
:: AncillaryData (17) -
Socket
:: Ifaddr (9) -
Socket
:: Option (10) -
Socket
:: UDPSource (4) - TCPServer (6)
- TCPSocket (3)
- UDPSocket (8)
- UNIXServer (8)
- UNIXSocket (7)
モジュール
-
Socket
:: Constants (370)
キーワード
-
AF
_ APPLETALK (2) -
AF
_ ATM (2) -
AF
_ AX25 (2) -
AF
_ CCITT (2) -
AF
_ CHAOS (2) -
AF
_ CNT (2) -
AF
_ COIP (2) -
AF
_ DATAKIT (2) -
AF
_ DEC (2) -
AF
_ DLI (2) -
AF
_ E164 (2) -
AF
_ ECMA (2) -
AF
_ HYLINK (2) -
AF
_ IMPLINK (2) -
AF
_ INET (2) -
AF
_ INET6 (2) -
AF
_ IPX (2) -
AF
_ ISDN (2) -
AF
_ ISO (2) -
AF
_ LAT (2) -
AF
_ LINK (2) -
AF
_ LOCAL (2) -
AF
_ MAX (2) -
AF
_ NATM (2) -
AF
_ NDRV (2) -
AF
_ NETBIOS (2) -
AF
_ NETGRAPH (2) -
AF
_ NS (2) -
AF
_ OSI (2) -
AF
_ PACKET (2) -
AF
_ PPP (2) -
AF
_ PUP (2) -
AF
_ ROUTE (2) -
AF
_ SIP (2) -
AF
_ SNA (2) -
AF
_ SYSTEM (2) -
AF
_ UNIX (2) -
AF
_ UNSPEC (2) -
AI
_ ADDRCONFIG (2) -
AI
_ ALL (2) -
AI
_ CANONNAME (2) -
AI
_ DEFAULT (2) -
AI
_ MASK (2) -
AI
_ NUMERICHOST (2) -
AI
_ NUMERICSERV (2) -
AI
_ PASSIVE (2) -
AI
_ V4MAPPED (2) -
AI
_ V4MAPPED _ CFG (2) - Addrinfo (1)
- AncillaryData (1)
-
EAI
_ ADDRFAMILY (2) -
EAI
_ AGAIN (2) -
EAI
_ BADFLAGS (2) -
EAI
_ BADHINTS (2) -
EAI
_ FAIL (2) -
EAI
_ FAMILY (2) -
EAI
_ MAX (2) -
EAI
_ MEMORY (2) -
EAI
_ NODATA (2) -
EAI
_ NONAME (2) -
EAI
_ OVERFLOW (2) -
EAI
_ PROTOCOL (2) -
EAI
_ SERVICE (2) -
EAI
_ SOCKTYPE (2) -
EAI
_ SYSTEM (2) -
IFF
_ BRIDGE _ PORT (2) -
IFF
_ BROADCAST (2) -
IFF
_ DONT _ BRIDGE (2) -
IFF
_ DORMANT (2) -
IFF
_ DRV _ OACTIVE (2) -
IFF
_ DRV _ RUNNING (2) -
IFF
_ EBRIDGE (2) -
IFF
_ LIVE _ ADDR _ CHANGE (2) -
IFF
_ LOWER _ UP (2) -
IFF
_ MACVLAN _ PORT (2) -
IFF
_ MASTER (2) -
IFF
_ MASTER _ 8023AD (2) -
IFF
_ MASTER _ ALB (2) -
IFF
_ MASTER _ ARPMON (2) -
IFF
_ MONITOR (2) -
IFF
_ NOARP (2) -
IFF
_ NOTRAILERS (2) -
IFF
_ PORTSEL (2) -
IFF
_ PPROMISC (2) -
IFF
_ PROMISC (2) -
IFF
_ RENAMING (2) -
IFF
_ ROUTE (2) -
IFF
_ RUNNING (2) -
IFF
_ SLAVE _ NEEDARP (2) -
IFF
_ SMART (2) -
IFF
_ STATICARP (2) -
IFF
_ TEAM _ PORT (2) -
IFF
_ TX _ SKB _ SHARING (2) -
IFF
_ XMIT _ DST _ RELEASE (2) - IFNAMSIZ (2)
-
IF
_ NAMESIZE (2) -
INADDR
_ ALLHOSTS _ GROUP (2) -
INADDR
_ ANY (2) -
INADDR
_ BROADCAST (2) -
INADDR
_ LOOPBACK (2) -
INADDR
_ MAX _ LOCAL _ GROUP (2) -
INADDR
_ NONE (2) -
INADDR
_ UNSPEC _ GROUP (2) -
INET6
_ ADDRSTRLEN (2) -
INET
_ ADDRSTRLEN (2) -
IPPORT
_ RESERVED (2) -
IPPORT
_ USERRESERVED (2) -
IPPROTO
_ AH (2) -
IPPROTO
_ BIP (2) -
IPPROTO
_ DSTOPTS (2) -
IPPROTO
_ EGP (2) -
IPPROTO
_ EON (2) -
IPPROTO
_ ESP (2) -
IPPROTO
_ FRAGMENT (2) -
IPPROTO
_ GGP (2) -
IPPROTO
_ HELLO (2) -
IPPROTO
_ HOPOPTS (2) -
IPPROTO
_ ICMP (2) -
IPPROTO
_ ICMPV6 (2) -
IPPROTO
_ IDP (2) -
IPPROTO
_ IGMP (2) -
IPPROTO
_ IP (2) -
IPPROTO
_ IPV6 (2) -
IPPROTO
_ MAX (2) -
IPPROTO
_ ND (2) -
IPPROTO
_ NONE (2) -
IPPROTO
_ PUP (2) -
IPPROTO
_ RAW (2) -
IPPROTO
_ ROUTING (2) -
IPPROTO
_ TCP (2) -
IPPROTO
_ TP (2) -
IPPROTO
_ UDP (2) -
IPPROTO
_ XTP (2) -
IPV6
_ CHECKSUM (2) -
IPV6
_ DONTFRAG (2) -
IPV6
_ DSTOPTS (2) -
IPV6
_ HOPLIMIT (2) -
IPV6
_ HOPOPTS (2) -
IPV6
_ JOIN _ GROUP (2) -
IPV6
_ LEAVE _ GROUP (2) -
IPV6
_ MULTICAST _ HOPS (2) -
IPV6
_ MULTICAST _ IF (2) -
IPV6
_ MULTICAST _ LOOP (2) -
IPV6
_ NEXTHOP (2) -
IPV6
_ PATHMTU (2) -
IPV6
_ PKTINFO (2) -
IPV6
_ RECVDSTOPTS (2) -
IPV6
_ RECVHOPLIMIT (2) -
IPV6
_ RECVHOPOPTS (2) -
IPV6
_ RECVPATHMTU (2) -
IPV6
_ RECVPKTINFO (2) -
IPV6
_ RECVRTHDR (2) -
IPV6
_ RECVTCLASS (2) -
IPV6
_ RTHDR (2) -
IPV6
_ RTHDRDSTOPTS (2) -
IPV6
_ RTHDR _ TYPE _ 0 (2) -
IPV6
_ TCLASS (2) -
IPV6
_ UNICAST _ HOPS (2) -
IPV6
_ USE _ MIN _ MTU (2) -
IPV6
_ V6ONLY (2) -
IPX
_ TYPE (2) -
IP
_ ADD _ MEMBERSHIP (2) -
IP
_ ADD _ SOURCE _ MEMBERSHIP (2) -
IP
_ BLOCK _ SOURCE (2) -
IP
_ DEFAULT _ MULTICAST _ LOOP (2) -
IP
_ DEFAULT _ MULTICAST _ TTL (2) -
IP
_ DONTFRAG (2) -
IP
_ DROP _ MEMBERSHIP (2) -
IP
_ DROP _ SOURCE _ MEMBERSHIP (2) -
IP
_ FREEBIND (2) -
IP
_ HDRINCL (2) -
IP
_ IPSEC _ POLICY (2) -
IP
_ MAX _ MEMBERSHIPS (2) -
IP
_ MINTTL (2) -
IP
_ MSFILTER (2) -
IP
_ MTU (2) -
IP
_ MTU _ DISCOVER (2) -
IP
_ MULTICAST _ IF (2) -
IP
_ MULTICAST _ LOOP (2) -
IP
_ MULTICAST _ TTL (2) -
IP
_ ONESBCAST (2) -
IP
_ OPTIONS (2) -
IP
_ PASSSEC (2) -
IP
_ PKTINFO (2) -
IP
_ PKTOPTIONS (2) -
IP
_ PMTUDISC _ DO (2) -
IP
_ PMTUDISC _ DONT (2) -
IP
_ PMTUDISC _ WANT (2) -
IP
_ PORTRANGE (2) -
IP
_ RECVDSTADDR (2) -
IP
_ RECVERR (2) -
IP
_ RECVIF (2) -
IP
_ RECVOPTS (2) -
IP
_ RECVRETOPTS (2) -
IP
_ RECVSLLA (2) -
IP
_ RECVTOS (2) -
IP
_ RECVTTL (2) -
IP
_ RETOPTS (2) -
IP
_ ROUTER _ ALERT (2) -
IP
_ SENDSRCADDR (2) -
IP
_ TOS (2) -
IP
_ TTL (2) -
IP
_ UNBLOCK _ SOURCE (2) -
IP
_ XFRM _ POLICY (2) - Ifaddr (1)
-
LOCAL
_ CONNWAIT (2) -
LOCAL
_ CREDS (2) -
LOCAL
_ PEERCRED (2) -
MCAST
_ BLOCK _ SOURCE (2) -
MCAST
_ EXCLUDE (2) -
MCAST
_ INCLUDE (2) -
MCAST
_ JOIN _ GROUP (2) -
MCAST
_ JOIN _ SOURCE _ GROUP (2) -
MCAST
_ LEAVE _ GROUP (2) -
MCAST
_ LEAVE _ SOURCE _ GROUP (2) -
MCAST
_ MSFILTER (2) -
MCAST
_ UNBLOCK _ SOURCE (2) -
MSG
_ COMPAT (2) -
MSG
_ CONFIRM (2) -
MSG
_ CTRUNC (2) -
MSG
_ DONTROUTE (2) -
MSG
_ DONTWAIT (2) -
MSG
_ EOF (2) -
MSG
_ EOR (2) -
MSG
_ ERRQUEUE (2) -
MSG
_ FIN (2) -
MSG
_ FLUSH (2) -
MSG
_ HAVEMORE (2) -
MSG
_ HOLD (2) -
MSG
_ MORE (2) -
MSG
_ NOSIGNAL (2) -
MSG
_ OOB (2) -
MSG
_ PEEK (2) -
MSG
_ PROXY (2) -
MSG
_ RCVMORE (2) -
MSG
_ RST (2) -
MSG
_ SEND (2) -
MSG
_ SYN (2) -
MSG
_ TRUNC (2) -
MSG
_ WAITALL (2) -
NI
_ DGRAM (2) -
NI
_ MAXHOST (2) -
NI
_ MAXSERV (2) -
NI
_ NAMEREQD (2) -
NI
_ NOFQDN (2) -
NI
_ NUMERICHOST (2) -
NI
_ NUMERICSERV (2) -
PF
_ APPLETALK (2) -
PF
_ ATM (2) -
PF
_ AX25 (2) -
PF
_ CCITT (2) -
PF
_ CHAOS (2) -
PF
_ CNT (2) -
PF
_ COIP (2) -
PF
_ DATAKIT (2) -
PF
_ DEC (2) -
PF
_ DLI (2) -
PF
_ ECMA (2) -
PF
_ HYLINK (2) -
PF
_ IMPLINK (2) -
PF
_ INET (2) -
PF
_ INET6 (2) -
PF
_ IPX (2) -
PF
_ ISDN (2) -
PF
_ ISO (2) -
PF
_ KEY (2) -
PF
_ LAT (2) -
PF
_ LINK (2) -
PF
_ LOCAL (2) -
PF
_ MAX (2) -
PF
_ NATM (2) -
PF
_ NDRV (2) -
PF
_ NETBIOS (2) -
PF
_ NETGRAPH (2) -
PF
_ NS (2) -
PF
_ OSI (2) -
PF
_ PACKET (2) -
PF
_ PIP (2) -
PF
_ PPP (2) -
PF
_ PUP (2) -
PF
_ ROUTE (2) -
PF
_ RTIP (2) -
PF
_ SIP (2) -
PF
_ SNA (2) -
PF
_ SYSTEM (2) -
PF
_ UNIX (2) -
PF
_ UNSPEC (2) -
PF
_ XTP (2) -
SCM
_ BINTIME (2) -
SCM
_ CREDENTIALS (2) -
SCM
_ CREDS (2) -
SCM
_ RIGHTS (2) -
SCM
_ TIMESTAMP (2) -
SCM
_ TIMESTAMPNS (2) -
SCM
_ UCRED (2) -
SHUT
_ RD (2) -
SHUT
_ RDWR (2) -
SHUT
_ WR (2) -
SOCK
_ DGRAM (2) -
SOCK
_ PACKET (2) -
SOCK
_ RAW (2) -
SOCK
_ RDM (2) -
SOCK
_ SEQPACKET (2) -
SOCK
_ STREAM (2) -
SOL
_ ATALK (2) -
SOL
_ AX25 (2) -
SOL
_ IP (2) -
SOL
_ IPX (2) -
SOL
_ SOCKET (2) -
SOL
_ TCP (2) -
SOL
_ UDP (2) - SOMAXCONN (2)
-
SOPRI
_ BACKGROUND (2) -
SOPRI
_ INTERACTIVE (2) -
SOPRI
_ NORMAL (2) -
SO
_ ACCEPTCONN (2) -
SO
_ ACCEPTFILTER (2) -
SO
_ ALLZONES (2) -
SO
_ ATTACH _ FILTER (2) -
SO
_ BINDTODEVICE (2) -
SO
_ BINTIME (2) -
SO
_ BROADCAST (2) -
SO
_ DEBUG (2) -
SO
_ DETACH _ FILTER (2) -
SO
_ DONTROUTE (2) -
SO
_ DONTTRUNC (2) -
SO
_ ERROR (2) -
SO
_ KEEPALIVE (2) -
SO
_ LINGER (2) -
SO
_ MAC _ EXEMPT (2) -
SO
_ NKE (2) -
SO
_ NOSIGPIPE (2) -
SO
_ NO _ CHECK (2) -
SO
_ NREAD (2) -
SO
_ OOBINLINE (2) -
SO
_ PASSCRED (2) -
SO
_ PEERCRED (2) -
SO
_ PEERNAME (2) -
SO
_ PRIORITY (2) -
SO
_ RCVBUF (2) -
SO
_ RCVLOWAT (2) -
SO
_ RCVTIMEO (2) -
SO
_ RECVUCRED (2) -
SO
_ REUSEADDR (2) -
SO
_ REUSEPORT (2) -
SO
_ SECURITY _ AUTHENTICATION (2) -
SO
_ SECURITY _ ENCRYPTION _ NETWORK (2) -
SO
_ SECURITY _ ENCRYPTION _ TRANSPORT (2) -
SO
_ SNDBUF (2) -
SO
_ SNDLOWAT (2) -
SO
_ SNDTIMEO (2) -
SO
_ TIMESTAMP (2) -
SO
_ TIMESTAMPNS (2) -
SO
_ TYPE (2) -
SO
_ USELOOPBACK (2) -
SO
_ WANTMORE (2) -
SO
_ WANTOOBFLAG (2) - SocketError (1)
- TCPServer (1)
-
TCP
_ CORK (2) -
TCP
_ DEFER _ ACCEPT (2) -
TCP
_ INFO (2) -
TCP
_ KEEPCNT (2) -
TCP
_ KEEPIDLE (2) -
TCP
_ KEEPINTVL (2) -
TCP
_ LINGER2 (2) -
TCP
_ MAXSEG (2) -
TCP
_ MD5SIG (2) -
TCP
_ NODELAY (2) -
TCP
_ NOOPT (2) -
TCP
_ NOPUSH (2) -
TCP
_ QUICKACK (2) -
TCP
_ SYNCNT (2) -
TCP
_ WINDOW _ CLAMP (2) - UDPSource (1)
-
UDP
_ CORK (2) - UNIXServer (1)
- accept (3)
-
accept
_ loop (1) -
accept
_ nonblock (3) - addr (3)
- afamily (1)
- bind (4)
- broadaddr (1)
- canonname (1)
-
cmsg
_ is? (1) - connect (4)
-
connect
_ address (1) -
connect
_ from (2) -
connect
_ nonblock (1) -
connect
_ to (2) - data (2)
-
do
_ not _ reverse _ lookup (2) -
do
_ not _ reverse _ lookup= (2) - dstaddr (1)
- family (2)
-
family
_ addrinfo (2) - flags (1)
-
for
_ fd (1) - foreach (2)
- getaddress (1)
- getaddrinfo (2)
- gethostbyaddr (1)
- gethostbyname (2)
- gethostname (1)
- getifaddrs (1)
- getnameinfo (2)
- getpeereid (1)
- getpeername (1)
- getservbyname (1)
- getservbyport (1)
- getsockname (1)
- ifindex (1)
- inspect (1)
-
inspect
_ sockaddr (1) - int (4)
- ip (1)
- ip? (1)
-
ip
_ address (1) -
ip
_ address _ list (1) -
ip
_ pktinfo (2) -
ip
_ port (1) -
ip
_ unpack (1) - ipv4? (1)
-
ipv4
_ loopback? (1) -
ipv4
_ multicast? (1) -
ipv4
_ private? (1) - ipv6? (1)
-
ipv6
_ linklocal? (1) -
ipv6
_ loopback? (1) -
ipv6
_ mc _ global? (1) -
ipv6
_ mc _ linklocal? (1) -
ipv6
_ mc _ nodelocal? (1) -
ipv6
_ mc _ orglocal? (1) -
ipv6
_ mc _ sitelocal? (1) -
ipv6
_ multicast? (1) -
ipv6
_ pktinfo (2) -
ipv6
_ pktinfo _ addr (1) -
ipv6
_ pktinfo _ ifindex (1) -
ipv6
_ sitelocal? (1) -
ipv6
_ to _ ipv4 (1) -
ipv6
_ unique _ local? (1) -
ipv6
_ unspecified? (1) -
ipv6
_ v4compat? (1) -
ipv6
_ v4mapped? (1) - level (2)
- linger (2)
- listen (4)
-
local
_ address (2) - name (1)
- netmask (1)
- new (10)
- open (7)
- optname (1)
-
pack
_ sockaddr _ in (1) -
pack
_ sockaddr _ un (1) - pair (2)
- path (1)
- peeraddr (2)
- pfamily (1)
- protocol (1)
- recv (1)
-
recv
_ io (1) -
recv
_ nonblock (1) - recvfrom (3)
-
recvfrom
_ nonblock (2) - recvmsg (1)
-
recvmsg
_ nonblock (1) -
remote
_ address (2) - reply (1)
- send (4)
- sendmsg (1)
-
sendmsg
_ nonblock (1) - shutdown (1)
-
sockaddr
_ in (1) -
sockaddr
_ un (1) - socketpair (2)
- socktype (1)
- sysaccept (3)
- tcp (3)
-
tcp
_ server _ loop (2) -
tcp
_ server _ sockets (4) -
to
_ s (2) -
to
_ sockaddr (1) - type (1)
- udp (1)
-
udp
_ server _ loop (2) -
udp
_ server _ loop _ on (1) -
udp
_ server _ recv (1) -
udp
_ server _ sockets (4) - unix (1)
- unix? (1)
-
unix
_ path (1) -
unix
_ rights (2) -
unix
_ server _ loop (1) -
unix
_ server _ socket (2) - unpack (1)
-
unpack
_ sockaddr _ in (1) -
unpack
_ sockaddr _ un (1) - vhid (1)
検索結果
先頭5件
-
BasicSocket
# remote _ address -> Addrinfo (36607.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... -
Socket
:: Constants :: IPPROTO _ ROUTING -> Integer (36607.0) -
BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
...BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
@see 2292... -
Socket
:: Constants :: IP _ RECVRETOPTS -> Integer (36607.0) -
@todo Receive all IP options for response
@todo
Receive all IP options for response -
Socket
:: Constants :: SO _ PRIORITY -> Integer (36607.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 _ RECVUCRED -> Integer (36607.0) -
@todo Receive user credentials with datagram。
@todo
Receive user credentials with datagram。 -
Socket
:: IPPROTO _ ROUTING -> Integer (36607.0) -
BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
...BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
@see 2292... -
Socket
:: IP _ RECVRETOPTS -> Integer (36607.0) -
@todo Receive all IP options for response
@todo
Receive all IP options for response -
Socket
:: SO _ PRIORITY -> Integer (36607.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 _ RECVUCRED -> Integer (36607.0) -
@todo Receive user credentials with datagram。
@todo
Receive user credentials with datagram。 -
Addrinfo
# family _ addrinfo(host , port) -> Addrinfo (27607.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 (27607.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
. getaddrinfo(nodename , service , family=nil , socktype=nil , protocol=nil , flags=0) -> [Addrinfo] (27607.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... -
Socket
:: UDPSource # remote _ address -> Addrinfo (27607.0) -
リモート側のアドレス情報を Addrinfo オブジェクトで返します。
リモート側のアドレス情報を Addrinfo オブジェクトで返します。 -
Addrinfo
# ipv4 _ private? -> bool (27307.0) -
IPv4 のプライベートアドレス(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) であれば真を返します。
IPv4 のプライベートアドレス(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
であれば真を返します。 -
IPSocket
# peeraddr -> Array (18607.0) -
接続相手先ソケットの情報を表す配列を返します。配列の各要素は IPSocket#addr メソッドが返す配列 と同じです。
...表す配列を返します。配列の各要素は
IPSocket#addr メソッドが返す配列
と同じです。
@raise Errno::EXXX getpeername(2) が 0 未満の値を返した場合に発生します。
例:
require 'socket'
TCPSocket.open("localhost", "http") {|s|
p s.peeraddr #=>... -
Socket
. getservbyname(service , proto = "tcp") -> Integer (18607.0) -
service, protoに対応するポート番号を返 します。protoの省略値は"tcp"です。
service, protoに対応するポート番号を返
します。protoの省略値は"tcp"です。
@param service サービス名を文字列で指定します。例えば、"ftp", "telnet" が相当します。
@param proto プロトコル名を文字列で指定します。省略値は"tcp" です。
@return ポート番号を整数で返します。 -
Socket
:: Constants :: IP _ MSFILTER -> Integer (18607.0) -
@todo Multicast source filtering
@todo
Multicast source filtering -
Socket
:: Constants :: IP _ MTU _ DISCOVER -> Integer (18607.0) -
Path MTU discovery。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Path MTU discovery。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP, ip(7linux)... -
Socket
:: Constants :: MCAST _ MSFILTER -> Integer (18607.0) -
@todo Multicast source filtering
...@todo
Multicast source filtering
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP, Socket::Constants::IPPROTO_IPV6,
3678... -
Socket
:: Constants :: MSG _ EOR -> Integer (18607.0) -
Data completes record。
...Data completes record。
BasicSocket#send, BasicSocket#sendmsg,
BasicSocket#recv, BasicSocket#recvmsg の
flags 引数に用います。
@see sys/socket.h(header),
send(2), sendto(2), sendmsg(2),
recv(2), recvfrom(2), recvmsg(2),
send(2linux), recv(2linux),
send(2freebsd), recv... -
Socket
:: Constants :: SHUT _ WR -> Integer (18607.0) -
BasicSocket#shutdown の how 引数に使用します。
...BasicSocket#shutdown の how 引数に使用します。... -
Socket
:: Constants :: SO _ ACCEPTFILTER -> Integer (18607.0) -
set accept filter on listening socket。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...set accept filter on listening socket。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see getsockopt(2freebsd), Socket::Constants::SOL_SOCKET... -
Socket
:: Constants :: SO _ ATTACH _ FILTER -> Integer (18607.0) -
Attach socket filter。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Attach socket filter。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see socket(7linux), http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=Documentation/networking/filter.txt;hb=HEAD,
Socket::Constants::SOL_SOCKET... -
Socket
:: Constants :: SO _ DETACH _ FILTER -> Integer (18607.0) -
Detach socket filter。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Detach socket filter。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see socket(7linux), http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=Documentation/networking/filter.txt;hb=HEAD,
Socket::Constants::SOL_SOCKET... -
Socket
:: Constants :: SO _ LINGER -> Integer (18607.0) -
Linger on close if data is present。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Linger on close if data is present。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see sys/socket.h(header), getsockopt(2freebsd),
socket(7linux),Socket::Constants::SOL_SOCKET... -
Socket
:: IP _ MSFILTER -> Integer (18607.0) -
@todo Multicast source filtering
@todo
Multicast source filtering -
Socket
:: IP _ MTU _ DISCOVER -> Integer (18607.0) -
Path MTU discovery。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Path MTU discovery。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP, ip(7linux)... -
Socket
:: MCAST _ MSFILTER -> Integer (18607.0) -
@todo Multicast source filtering
...@todo
Multicast source filtering
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP, Socket::Constants::IPPROTO_IPV6,
3678... -
Socket
:: MSG _ EOR -> Integer (18607.0) -
Data completes record。
...Data completes record。
BasicSocket#send, BasicSocket#sendmsg,
BasicSocket#recv, BasicSocket#recvmsg の
flags 引数に用います。
@see sys/socket.h(header),
send(2), sendto(2), sendmsg(2),
recv(2), recvfrom(2), recvmsg(2),
send(2linux), recv(2linux),
send(2freebsd), recv... -
Socket
:: SHUT _ WR -> Integer (18607.0) -
BasicSocket#shutdown の how 引数に使用します。
...BasicSocket#shutdown の how 引数に使用します。... -
Socket
:: SO _ ACCEPTFILTER -> Integer (18607.0) -
set accept filter on listening socket。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...set accept filter on listening socket。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see getsockopt(2freebsd), Socket::Constants::SOL_SOCKET... -
Socket
:: SO _ ATTACH _ FILTER -> Integer (18607.0) -
Attach socket filter。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Attach socket filter。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see socket(7linux), http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=Documentation/networking/filter.txt;hb=HEAD,
Socket::Constants::SOL_SOCKET... -
Socket
:: SO _ DETACH _ FILTER -> Integer (18607.0) -
Detach socket filter。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Detach socket filter。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see socket(7linux), http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=blob;f=Documentation/networking/filter.txt;hb=HEAD,
Socket::Constants::SOL_SOCKET... -
Socket
:: SO _ LINGER -> Integer (18607.0) -
Linger on close if data is present。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Linger on close if data is present。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see sys/socket.h(header), getsockopt(2freebsd),
socket(7linux),Socket::Constants::SOL_SOCKET... -
Addrinfo
# connect _ from(host , port) -> Socket (18361.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
# connect _ from(host , port) {|sock| . . . } -> object (18361.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 アドレ... -
Socket
# recvfrom(maxlen , flags=0) -> [String , Addrinfo] (18325.0) -
ソケットからデータを受け取ります。
...ソケットからデータを受け取ります。
BasicSocket#recv と同様ですが、返り値として
データ文字列と相手ソケットのアドレスのペアが返されます。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しくは recvfrom(2)......。詳しくは
Errno と man を見てください。
例:
require 'socket'
s1 = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
s2 = Socket.new(Socket::AF_INET, Socket::SOCK_DGRAM, 0)
s1.bind(Socket.sockaddr_in(0, "0.0.0.0"))
s2.send("foo", 0, s1.getsockname)
mesg, sockaddr......= s1.recvfrom(10)
p mesg #=> "foo"
p sockaddr #=> "\002\000\200r\177\000\000\001\000\000\000\000\000\000\000\000"
p Socket.unpack_sockaddr_in(sockaddr) #=> [32882, "127.0.0.1"]... -
Addrinfo
# inspect _ sockaddr -> String (18307.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 _ address -> String (18307.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 (18307.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
# ipv6 _ mc _ orglocal? -> bool (18307.0) -
IPv6 のマルチキャスト(組織(organization)ローカルスコープ) アドレスであれば真を返します。
IPv6 のマルチキャスト(組織(organization)ローカルスコープ)
アドレスであれば真を返します。 -
Addrinfo
# protocol -> Integer (18307.0) -
ソケットプロトコルを整数で返します。
...ソケットプロトコルを整数で返します。
require 'socket'
Addrinfo.tcp("localhost", 80).protocol == Socket::IPPROTO_TCP #=> true... -
Addrinfo
# to _ sockaddr -> String (18307.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
. foreach(nodename , service , family=nil , socktype=nil , protocol=nil , flags=0) -> Enumerator (18307.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] (18307.0) -
Addrinfo.getaddrinfo で得られる配列の各要素を繰り返します。
Addrinfo.getaddrinfo で得られる配列の各要素を繰り返します。
ブロックを省略した場合は Enumerator を返します。
@param nodename ノード名文字列(ホスト名もしくは IP アドレス)
@param service サービス名(文字列もしくはポート番号の整数)
@param family プロトコルファミリー(整数、文字列、シンボル、もしくは nil)
@param socktype ソケットタイプ(整数、文字列、シンボル、もしくは nil)
@param protocol プロトコル(整数、もしくは nil)
@param flags フラグ(... -
BasicSocket
# connect _ address -> Addrinfo (18307.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... -
BasicSocket
# do _ not _ reverse _ lookup -> bool (18307.0) -
ソケットごとのアドレスからホスト名への逆引きの設定を返します。
...きの
BasicSocket.do_not_reverse_lookup の値になります。
require 'socket'
BasicSocket.do_not_reverse_lookup = false
TCPSocket.open("www.ruby-lang.org", 80) {|sock|
p sock.do_not_reverse_lookup # => false
}
BasicSocket.do_not_reverse_lookup = true
TCPSocket.open("www.r......uby-lang.org", 80) {|sock|
p sock.do_not_reverse_lookup # => true
}
@see BasicSocket#do_not_reverse_lookup=... -
BasicSocket
# do _ not _ reverse _ lookup=(bool) (18307.0) -
アドレスからホスト名への逆引きの設定をソケットごとに設定します。
...アドレスからホスト名への逆引きの設定をソケットごとに設定します。
@param bool この値が真ならアドレスからホスト名への逆引きを行わなくなります。
@see BasicSocket#do_not_reverse_lookup... -
BasicSocket
# getpeereid -> [Integer , Integer] (18307.0) -
Unix ドメインソケットにおいて接続相手の euid と egid を 返します。
..., 2番目の要素が egid です。
ソケットが Unix ドメインソケットでない場合の返り値は
不定です。
require 'socket'
Socket.unix_server_loop("/tmp/sock") {|s|
begin
euid, egid = s.getpeereid
# Check the connected client is myself or not.... -
BasicSocket
# getpeername -> String (18307.0) -
接続の相手先のソケットの情報を取得します。sockaddr 構造体をパッ クした文字列を返します。getpeername(2) を参照してください。
...い。
例:
require 'socket'
serv = TCPServer.open("", 0)
c = TCPSocket.open(*Socket.unpack_sockaddr_in(serv.getsockname).reverse)
s = serv.accept
addr = c.getpeername
p addr #=> "\002\000\267\214\177\000\000\001\000\000\000\000\000\000\000\000"
p Socket.unpack_sockaddr_in(addr... -
BasicSocket
# local _ address -> Addrinfo (18307.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
# recv(maxlen , flags = 0) -> String (18307.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
# recv _ nonblock(maxlen , flags = 0) -> String (18307.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。
...ンブロッキングモードに設定した後、
recvfrom(2) でソケットからデータを受け取ります。
引数、返り値は BasicSocket#recv と同じです。
recvfrom(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
@param max... -
BasicSocket
# recvmsg(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (18307.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] (18307.0) -
recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。
...recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。
ブロッキングの有無以外は BasicSocket#recvmsg と同じです。
詳しくはそちらを参照してください。
@param maxmesglen 受け取るメッセージの最大長
@param flags... -
BasicSocket
. do _ not _ reverse _ lookup -> bool (18307.0) -
Socket#do_not_reverse_lookup の Socket オブジェクト生成時の デフォルト値を返します。
...
Socket#do_not_reverse_lookup の Socket オブジェクト生成時の
デフォルト値を返します。
この設定は大域的に作用します。
デフォルトは true です。... -
BasicSocket
. do _ not _ reverse _ lookup=(bool) (18307.0) -
BasicSocket#do_not_reverse_lookup の値を変更します。
...icSocket#do_not_reverse_lookup の値を変更します。
@param bool この値が真ならアドレスからホスト名への逆引きを行わなくなります。
例:
require 'socket'
p TCPSocket.new('localhost', 'telnet').addr
TCPSocket.do_not_reverse_lookup = true
p TCPSocket.n... -
BasicSocket
. for _ fd(fd) -> BasicSocket (18307.0) -
ファイルディスクリプタ fd に対する新しいソケットを生成します。
...はどのクラスの for_fd を呼びだしたかによって決まります。
require 'socket'
BasicSocket.for_fd(fd) # BasicSocket のインスタンスを返す
TCPSocket.for_fd(fd) # TCPSocket のインスタンスを返す
@param fd ファイルディスクリプタ を指定し... -
IPSocket
# addr -> Array (18307.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
# recvfrom(maxlen , flags = 0) -> Array (18307.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... -
IPSocket
. getaddress(host) -> String (18307.0) -
ホスト名からホストのアドレスを返します。ホストのアドレスは文 字列は octet decimal の文字列 (例: 127.0.0.1) です。
...ホストのアドレスを返します。ホストのアドレスは文
字列は octet decimal の文字列 (例: 127.0.0.1) です。
@param host ホスト名を文字列で指定します。
例:
require 'socket'
p IPSocket.getaddress("www.ruby-lang.org") #=> "210.163.138.100"... -
Socket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Addrinfo] (18307.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) を呼び出します。
...ソケットをノンブロッキングモードに設定した後、
recvfrom(2) を呼び出します。
引数、返り値は Socket#recvfrom と同じです。
recvfrom(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Er... -
Socket
. getaddrinfo(nodename , servname , family=nil , socktype=nil , protocol=nil , flags=nil) -> Array (18307.0) -
2553で定義された getaddrinfo() の機能を提供するクラスメソッド。この関数は gethostbyname() や getservbyname() の代わりとして用意されており、 IP のバージョンに依存しないプログラムを書くための標準的な API です。
...名を指定します。 必須引数です。 (lib:socket#host_formatを参照)
@param servname サービス名を指定します。 必須引数です。 (lib:socket#service_formatを参照)
@param family アドレスファミリー。Socket::Constants::AF_INET など、AF_ で始まる定数を......指定します。
@param socktype ソケットタイプ。 Socket::Constants::SOCK_STREAM など、 SOCK_ で始まる定数を指定します。
@param protocol プロトコル。Socket::Constants::IPPROTO_IP など、IPPROTO_ で始まる定数を指定します。
@param flags getaddrinfo(3)......数に指定する addrinfo 構造体の ai_flags メンバに相当する整数。 Socket::AI_PASSIVEなど。
@return 7つの要素からなるアドレス情報に関する配列を返します。
@raise SocketError getaddrinfo(3)がエラーを返したときに発生する例外です
@see Ad... -
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
. getifaddrs -> [Socket :: Ifaddr] (18307.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
. 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
. ip _ address _ list -> [Addrinfo] (18307.0) -
ローカルの IP アドレスを配列で返します。
ローカルの IP アドレスを配列で返します。 -
Socket
. pack _ sockaddr _ in(port , host) -> String (18307.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 (18307.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 (18307.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 (18307.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 (18307.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 (18307.0) -
相互に結合されたソケットのペアを含む2要素の配列を返します。 引数の指定は Socket.open と同じです。
...のペアを含む2要素の配列を返します。
引数の指定は Socket.open と同じです。
@param domain Socket.open を参照してください。
@param type Socket.open を参照してください。
@param protocol Socket.open を参照してください。
@see Socket.open... -
Socket
. tcp _ server _ loop(host , port) {|sock , addr| . . . } -> () (18307.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| . . . } -> () (18307.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] (18307.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。
...番号を持ちます。
require 'socket'
# tcp_server_sockets returns は2つのソケットを返す
sockets = Socket.tcp_server_sockets(1296)
p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>]
# それぞれは IPv4 と IPv6 のソケット
sockets.each {|s| p s.local_address }
#=>......
sockets = Socket.tcp_server_sockets(0)
sockets.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 (18307.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。
...番号を持ちます。
require 'socket'
# tcp_server_sockets returns は2つのソケットを返す
sockets = Socket.tcp_server_sockets(1296)
p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>]
# それぞれは IPv4 と IPv6 のソケット
sockets.each {|s| p s.local_address }
#=>......
sockets = Socket.tcp_server_sockets(0)
sockets.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] (18307.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。
...番号を持ちます。
require 'socket'
# tcp_server_sockets returns は2つのソケットを返す
sockets = Socket.tcp_server_sockets(1296)
p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>]
# それぞれは IPv4 と IPv6 のソケット
sockets.each {|s| p s.local_address }
#=>......
sockets = Socket.tcp_server_sockets(0)
sockets.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 (18307.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。
...番号を持ちます。
require 'socket'
# tcp_server_sockets returns は2つのソケットを返す
sockets = Socket.tcp_server_sockets(1296)
p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>]
# それぞれは IPv4 と IPv6 のソケット
sockets.each {|s| p s.local_address }
#=>......
sockets = Socket.tcp_server_sockets(0)
sockets.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| . . . } -> () (18307.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| . . . } -> () (18307.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| . . . } -> () (18307.0) -
sockets (UDP のソケット)に対し、通信を待ち受けます。
...
sockets (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| . . . } -> () (18307.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] (18307.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 (18307.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] (18307.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 (18307.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 _ server _ loop(path) {|socket , client _ addrinfo| . . . } -> () (18307.0) -
Unix サーバソケットを生成し、 新しい接続を受け入れるごとにブロックを呼び出します。
...全です。
つまり、 /tmp/malicious-users-directory/socket という名前のパスは
使うべきではありません。
/tmp にスティッキービットが立っている場合、/tmp/socket や
/tmp/your-private-directory/socket というパス名は安全と考えて良いでしょう... -
Socket
. unix _ server _ socket(path) -> Socket (18307.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 (18307.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 (18307.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 (18307.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 _ NDRV -> Integer (18307.0) -
@todo Network driver raw access。 Socket.open の第一引数 domain に使用します。
...@todo
Network driver raw access。
Socket.open の第一引数 domain に使用します。... -
Socket
:: AF _ NETGRAPH -> Integer (18307.0) -
Netgraph sockets。 Socket.open の第一引数 domain に使用します。
...Netgraph sockets。
Socket.open の第一引数 domain に使用します。
@see socket(2freebsd)... -
Socket
:: AF _ ROUTE -> Integer (18307.0) -
@todo Internal Routing protocol。 Socket.open の第一引数 domain に使用します。
...@todo
Internal Routing protocol。
Socket.open の第一引数 domain に使用します。
@todo... -
Socket
:: AI _ ADDRCONFIG -> Integer (18307.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 _ NUMERICHOST -> Integer (18307.0) -
Prevent host name resolution。
...Prevent host name resolution。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3)... -
Socket
:: AI _ NUMERICSERV -> Integer (18307.0) -
Prevent server name resolution。
...Prevent server name resolution。
Socket.getaddrinfo, Addrinfo.getaddrinfo の引数 flags に渡す
定数です。
@see getaddrinfo(3)... -
Socket
:: AncillaryData # ipv6 _ pktinfo _ addr -> Addrinfo (18307.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 # unix _ rights -> [IO] | nil (18307.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)
_, _, _...