種類
- 定数 (692)
- インスタンスメソッド (117)
- 特異メソッド (81)
クラス
- Addrinfo (40)
- BasicSocket (20)
- IPSocket (4)
- SOCKSSocket (3)
- Socket (397)
-
Socket
:: AncillaryData (17) -
Socket
:: Ifaddr (9) -
Socket
:: Option (13) -
Socket
:: UDPSource (4) - TCPServer (6)
- TCPSocket (3)
- UDPSocket (8)
- UNIXServer (8)
- UNIXSocket (12)
モジュール
-
Socket
:: Constants (346)
キーワード
-
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) -
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
_ DISABLE _ NETPOLL (2) -
IFF
_ MASTER _ ALB (2) -
IFF
_ MONITOR (2) -
IFF
_ POINTOPOINT (2) -
IFF
_ PPROMISC (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) -
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) -
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) -
UDP
_ CORK (2) - accept (3)
-
accept
_ loop (1) -
accept
_ nonblock (3) - addr (3)
- afamily (1)
- bind (4)
- bool (2)
- broadaddr (1)
- canonname (1)
- close (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) - 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)
- getsockopt (1)
- ifindex (1)
- inspect (1)
-
inspect
_ sockaddr (1) - int (4)
- ip (1)
-
ip
_ address (1) -
ip
_ address _ list (1) -
ip
_ pktinfo (2) -
ip
_ port (1) -
ip
_ unpack (1) -
ipv4
_ multicast? (1) -
ipv4
_ private? (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
_ v4compat? (1) - ipv6only! (1)
- level (2)
- linger (2)
- listen (5)
-
local
_ address (2) - name (1)
- netmask (1)
- new (13)
- open (9)
- 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)
-
send
_ io (1) - sendmsg (1)
-
sendmsg
_ nonblock (1) - setsockopt (2)
- 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 (3)
-
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件
-
Socket
:: Constants :: IPPROTO _ DSTOPTS -> Integer (27907.0) -
IPv6 destination option。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
...IPv6 destination option。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
@see 2292... -
Socket
:: Constants :: IP _ DEFAULT _ MULTICAST _ LOOP -> Integer (27907.0) -
@todo Default multicast loopback
@todo
Default multicast loopback -
Socket
:: Constants :: IP _ DEFAULT _ MULTICAST _ TTL -> Integer (27907.0) -
@todo Default multicast TTL
@todo
Default multicast TTL -
Socket
:: IPPROTO _ DSTOPTS -> Integer (27907.0) -
IPv6 destination option。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
...IPv6 destination option。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
@see 2292... -
Socket
:: IP _ DEFAULT _ MULTICAST _ LOOP -> Integer (27907.0) -
@todo Default multicast loopback
@todo
Default multicast loopback -
Socket
:: IP _ DEFAULT _ MULTICAST _ TTL -> Integer (27907.0) -
@todo Default multicast TTL
@todo
Default multicast TTL -
Socket
:: AncillaryData # timestamp -> Time (19051.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
. getaddrinfo(nodename , servname , family=nil , socktype=nil , protocol=nil , flags=nil) -> Array (18913.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... -
Addrinfo
# connect -> Socket (18907.0) -
自身のアドレスへソケットを接続します。
...す。
ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済み Socket
オブジェクトが返されます。... -
Addrinfo
# connect {|sock| . . . } -> object (18907.0) -
自身のアドレスへソケットを接続します。
...す。
ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済み Socket
オブジェクトが返されます。... -
Socket
. accept _ loop(sockets) {|sock , client _ addrinfo| . . . } -> () (18907.0) -
sockets でサーバソケットを受け取り、接続を待ち受け、 クライアントとの接続が確立するたびにブロックにその接続 ソケットを渡し呼び出します。
...sockets でサーバソケットを受け取り、接続を待ち受け、
クライアントとの接続が確立するたびにブロックにその接続
ソケットを渡し呼び出します。
ブロックの引数はクライアントと接続したソケットオブジェクトと
Addrinfo......
Socket.tcp_server_loop と同様、ブロックは
逐次的に呼び出されます。つまりブロックか終了するまで
次の接続は accept されません。
並列に通信したい場合は
スレッドのような並列実行機構を使う必要があります。
@param sockets......待ち受けたいサーバソケットの配列
@see Socket.tcp_server_loop, Socket.unix_server_loop... -
Socket
. udp _ server _ sockets(host , port) -> [Sockets] (18907.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 (18907.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] (18907.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 (18907.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
:: AF _ ROUTE -> Integer (18907.0) -
@todo Internal Routing protocol。 Socket.open の第一引数 domain に使用します。
...@todo
Internal Routing protocol。
Socket.open の第一引数 domain に使用します。
@todo... -
Socket
:: AF _ SYSTEM -> Integer (18907.0) -
@todo
...@todo
Socket.open の第一引数 domain に使用します。... -
Socket
:: Constants :: AF _ ROUTE -> Integer (18907.0) -
@todo Internal Routing protocol。 Socket.open の第一引数 domain に使用します。
...@todo
Internal Routing protocol。
Socket.open の第一引数 domain に使用します。
@todo... -
Socket
:: Constants :: AF _ SYSTEM -> Integer (18907.0) -
@todo
...@todo
Socket.open の第一引数 domain に使用します。... -
Socket
:: Constants :: EAI _ SYSTEM -> Integer (18907.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 :: IP _ MSFILTER -> Integer (18907.0) -
@todo Multicast source filtering
@todo
Multicast source filtering -
Socket
:: Constants :: IP _ ROUTER _ ALERT -> Integer (18907.0) -
Notify transit routers to more closely examine the contents of an IP packet。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Notify transit routers to more closely examine the contents of an IP packet。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP, ip(7linux)... -
Socket
:: Constants :: PF _ ROUTE -> Integer (18907.0) -
@todo Internal Routing protocol。 Socket.open の第一引数 domain に使用します。
...@todo
Internal Routing protocol。
Socket.open の第一引数 domain に使用します。
@todo... -
Socket
:: Constants :: PF _ SYSTEM -> Integer (18907.0) -
@todo
...@todo
Socket.open の第一引数 domain に使用します。... -
Socket
:: Constants :: SOPRI _ INTERACTIVE -> Integer (18907.0) -
@todo Interactive socket priority
...@todo
Interactive socket priority... -
Socket
:: EAI _ SYSTEM -> Integer (18907.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
:: IP _ MSFILTER -> Integer (18907.0) -
@todo Multicast source filtering
@todo
Multicast source filtering -
Socket
:: IP _ ROUTER _ ALERT -> Integer (18907.0) -
Notify transit routers to more closely examine the contents of an IP packet。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Notify transit routers to more closely examine the contents of an IP packet。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP, ip(7linux)... -
Socket
:: PF _ ROUTE -> Integer (18907.0) -
@todo Internal Routing protocol。 Socket.open の第一引数 domain に使用します。
...@todo
Internal Routing protocol。
Socket.open の第一引数 domain に使用します。
@todo... -
Socket
:: PF _ SYSTEM -> Integer (18907.0) -
@todo
...@todo
Socket.open の第一引数 domain に使用します。... -
Socket
:: SOPRI _ INTERACTIVE -> Integer (18907.0) -
@todo Interactive socket priority
...@todo
Interactive socket priority... -
TCPServer
# accept -> TCPSocket (18907.0) -
クライアントからの接続要求を受け付け、接続した TCPSocket のインスタンスを返します。
...クライアントからの接続要求を受け付け、接続した
TCPSocket のインスタンスを返します。
例:
require 'socket'
TCPServer.open("", 0) {|serv|
c = TCPSocket.new(*serv.addr.values_at(3,1))
s = serv.accept
c.write "foo"
p s.recv(10) #=> "foo"
}... -
UNIXServer
# accept -> UnixSocket (18907.0) -
クライアントからの接続要求を accept(2)で待ち受け、接続した UNIXSocket のインスタンスを返します。
...ライアントからの接続要求を accept(2)で待ち受け、接続した
UNIXSocket のインスタンスを返します。
例:
require 'socket'
UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
s = serv.accept
s.write "from server"
c.write "from client"... -
Socket
:: Constants :: IPPROTO _ HOPOPTS -> Integer (18703.0) -
IPv6 hop-by-hop options。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
...IPv6 hop-by-hop options。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
@see 2292... -
Socket
:: Constants :: IPV6 _ HOPOPTS -> Integer (18703.0) -
Hop-by-hop options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Hop-by-hop options。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IPV6,
ip6(4freebsd), ipv6(7linux),
3542... -
Socket
:: Constants :: IPV6 _ RECVHOPOPTS -> Integer (18703.0) -
Receive hop-by-hop options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Receive hop-by-hop options。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IPV6,
3542... -
Socket
:: Constants :: IP _ TOS -> Integer (18703.0) -
IP type-of-service。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...IP type-of-service。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP,
ip(4freebsd), ip(7linux)... -
Socket
:: Constants :: IP _ TTL -> Integer (18703.0) -
IP time-to-live。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...IP time-to-live。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP,
ip(4freebsd), ip(7linux)... -
Socket
:: IPPROTO _ HOPOPTS -> Integer (18703.0) -
IPv6 hop-by-hop options。 BasicSocket#getsockopt, BasicSocket#setsockopt の level 引数に使用します。
...IPv6 hop-by-hop options。
BasicSocket#getsockopt, BasicSocket#setsockopt の
level 引数に使用します。
また、Socket.open の protocol 引数に渡す利用法もあります。
@see 2292... -
Socket
:: IPV6 _ HOPOPTS -> Integer (18703.0) -
Hop-by-hop options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Hop-by-hop options。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IPV6,
ip6(4freebsd), ipv6(7linux),
3542... -
Socket
:: IPV6 _ RECVHOPOPTS -> Integer (18703.0) -
Receive hop-by-hop options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Receive hop-by-hop options。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IPV6,
3542... -
Socket
:: IP _ TOS -> Integer (18703.0) -
IP type-of-service。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...IP type-of-service。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP,
ip(4freebsd), ip(7linux)... -
Socket
:: IP _ TTL -> Integer (18703.0) -
IP time-to-live。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...IP time-to-live。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP,
ip(4freebsd), ip(7linux)... -
Socket
:: Constants :: IPV6 _ DONTFRAG -> Integer (18655.0) -
Don't fragment packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Don't fragment packets。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IPV6,
3542... -
Socket
:: Constants :: IP _ DONTFRAG -> Integer (18655.0) -
Don't fragment packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Don't fragment packets。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP,
ip(4freebsd)... -
Socket
:: Constants :: IP _ PMTUDISC _ WANT -> Integer (18655.0) -
Use per-route hints。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Use per-route hints。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP, ip(7linux)... -
Socket
:: Constants :: MSG _ DONTWAIT -> Integer (18655.0) -
This message should be non-blocking。
...This message should be non-blocking。
BasicSocket#send, BasicSocket#sendmsg,
BasicSocket#recv, BasicSocket#recvmsg の
flags 引数に用います。
@see send(2linux), recv(2linux),
recv(2freebsd)... -
Socket
:: Constants :: SO _ PRIORITY -> Integer (18655.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 _ RCVLOWAT -> Integer (18655.0) -
Receive low-water mark。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Receive low-water mark。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see sys/socket.h(header), getsockopt(2freebsd),
socket(7linux), Socket::Constants::SOL_SOCKET... -
Socket
:: Constants :: SO _ SNDLOWAT -> Integer (18655.0) -
Receive low-water mark。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Receive low-water mark。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see sys/socket.h(header), getsockopt(2freebsd),
socket(7linux), Socket::Constants::SOL_SOCKET... -
Socket
:: Constants :: TCP _ CORK -> Integer (18655.0) -
Don't send partial frames。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Don't send partial frames。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see tcp(7linux)... -
Socket
:: Constants :: TCP _ DEFER _ ACCEPT -> Integer (18655.0) -
Don't notify a listening socket until data is ready。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Don't notify a listening socket until data is ready。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see tcp(7linux)... -
Socket
:: Constants :: TCP _ NODELAY -> Integer (18655.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 _ NOOPT -> Integer (18655.0) -
Don't use TCP options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Don't use TCP options。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see tcp(4freebsd), tcp(7linux)... -
Socket
:: Constants :: TCP _ NOPUSH -> Integer (18655.0) -
Don't push the last block of write。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Don't push the last block of write。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see tcp(4freebsd), tcp(7linux)... -
Socket
:: IPV6 _ DONTFRAG -> Integer (18655.0) -
Don't fragment packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Don't fragment packets。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IPV6,
3542... -
Socket
:: IP _ DONTFRAG -> Integer (18655.0) -
Don't fragment packets。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Don't fragment packets。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP,
ip(4freebsd)... -
Socket
:: IP _ PMTUDISC _ WANT -> Integer (18655.0) -
Use per-route hints。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Use per-route hints。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see Socket::Constants::IPPROTO_IP, ip(7linux)... -
Socket
:: MSG _ DONTWAIT -> Integer (18655.0) -
This message should be non-blocking。
...This message should be non-blocking。
BasicSocket#send, BasicSocket#sendmsg,
BasicSocket#recv, BasicSocket#recvmsg の
flags 引数に用います。
@see send(2linux), recv(2linux),
recv(2freebsd)... -
Socket
:: SO _ PRIORITY -> Integer (18655.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 _ RCVLOWAT -> Integer (18655.0) -
Receive low-water mark。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Receive low-water mark。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see sys/socket.h(header), getsockopt(2freebsd),
socket(7linux), Socket::Constants::SOL_SOCKET... -
Socket
:: SO _ SNDLOWAT -> Integer (18655.0) -
Receive low-water mark。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Receive low-water mark。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see sys/socket.h(header), getsockopt(2freebsd),
socket(7linux), Socket::Constants::SOL_SOCKET... -
Socket
:: TCP _ CORK -> Integer (18655.0) -
Don't send partial frames。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Don't send partial frames。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see tcp(7linux)... -
Socket
:: TCP _ DEFER _ ACCEPT -> Integer (18655.0) -
Don't notify a listening socket until data is ready。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Don't notify a listening socket until data is ready。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see tcp(7linux)... -
Socket
:: TCP _ NODELAY -> Integer (18655.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 _ NOOPT -> Integer (18655.0) -
Don't use TCP options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Don't use TCP options。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see tcp(4freebsd), tcp(7linux)... -
Socket
:: TCP _ NOPUSH -> Integer (18655.0) -
Don't push the last block of write。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。
...Don't push the last block of write。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。
@see tcp(4freebsd), tcp(7linux)... -
Addrinfo
# connect _ from(host , port) -> Socket (18643.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 (18643.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 アドレ... -
BasicSocket
# do _ not _ reverse _ lookup -> bool (18643.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=... -
Socket
# connect(server _ sockaddr) -> 0 (18643.0) -
connect(2) でソケットを接続します。
...connect(2) でソケットを接続します。
server_sockaddr は、
lib:socket#pack_string
もしくは Addrinfo オブジェクト
です。
0 を返します。
@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラーを報告した場合に発生します。......、connect で www.ruby-lang.org:80 に接続するには以下のようにします。
例:
require 'socket'
s = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(80, "www.ruby-lang.org")
s.connect(sockaddr)
s.write "GET / HTTP/1.0\r\n\r\n"
print s.rea... -
Socket
. tcp(host , port , local _ host=nil , local _ port=nil , connect _ timeout: nil) -> Socket (18643.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 (18643.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
:: Constants :: INADDR _ ALLHOSTS _ GROUP -> Integer (18643.0) -
Multicast group for all systems on this subset。 IPv4の 244.0.0.1 に対応する整数です。
Multicast group for all systems on this subset。
IPv4の 244.0.0.1 に対応する整数です。
@see http://www.iana.org/assignments/multicast-addresses/multicast-addresses.xml, 5771 -
Socket
:: INADDR _ ALLHOSTS _ GROUP -> Integer (18643.0) -
Multicast group for all systems on this subset。 IPv4の 244.0.0.1 に対応する整数です。
Multicast group for all systems on this subset。
IPv4の 244.0.0.1 に対応する整数です。
@see http://www.iana.org/assignments/multicast-addresses/multicast-addresses.xml, 5771 -
TCPSocket
. gethostbyname(host) -> Array (18643.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"]... -
Addrinfo
# inspect _ sockaddr -> String (18625.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... -
BasicSocket
# remote _ address -> Addrinfo (18625.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... -
IPSocket
. getaddress(host) -> String (18625.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
# connect _ nonblock(server _ sockaddr) -> 0 (18625.0) -
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
...ソケットをノンブロッキングモードに設定した後、
connect(2) を呼び出します。
引数、返り値は Socket#connect と同じです。
connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend さ......eb page
require 'socket'
include Socket::Constants
socket = Socket.new(AF_INET, SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(80, 'www.google.com')
begin # emulate blocking connect
socket.connect_nonblock(sockaddr)
rescue IO::WaitWritable
IO.select(nil, [socket]) # wait 3-way han......dshake completion
begin
socket.connect_nonblock(sockaddr) # check connection failure
rescue Errno::EISCONN
end
end
socket.write("GET / HTTP/1.0\r\n\r\n")
results = socket.read
@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラーを報告... -
Socket
. gethostbyname(host) -> Array (18625.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 (18625.0) -
システムの標準のホスト名を取得します。
...の標準のホスト名を取得します。
ホストの別名やアドレスなど他の情報を得るには
Socket.getaddrinfo を使ってください。
ただし、これは不可能な場合もあります。
例:
require 'socket'
p Socket.gethostname #=> "helium.ruby-lang.org"... -
Addrinfo
# connect _ to(host , port) -> Socket (18607.0) -
自身のアドレスから指定したホストへソケット接続します。
...クが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済み Socket
オブジェクトが返されます。
@param host ホス... -
Addrinfo
# connect _ to(host , port) {|sock| . . . } -> object (18607.0) -
自身のアドレスから指定したホストへソケット接続します。
...クが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済み Socket
オブジェクトが返されます。
@param host ホス... -
Addrinfo
# getnameinfo(flags=0) -> [String , String] (18607.0) -
ノード名とサービスを文字列の配列で返します。
... Socket::NI_??? という名前の定数のビット OR を渡します。
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).getnameinfo
#=> ["localhost", "www"]
Addrinfo.tcp("127.0.0.1", 80).getnameinfo(Socket::NI_NUMERICSERV)
#=> ["localhost", "80"]
@param flags フラグ
@raise SocketEr......ror getnameinfo(3) がエラーを起こした場合に生じる例外
@see Socket.getnameinfo... -
Addrinfo
# ip _ port -> Integer (18607.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
# ipv4 _ multicast? -> bool (18607.0) -
IPv4 のマルチキャストアドレス(224.0.0.0/4)であれば真を返します。
IPv4 のマルチキャストアドレス(224.0.0.0/4)であれば真を返します。 -
Addrinfo
# ipv4 _ private? -> bool (18607.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)
であれば真を返します。 -
Addrinfo
# ipv6 _ mc _ sitelocal? -> bool (18607.0) -
IPv6 のマルチキャスト(サイトローカルスコープ)アドレスであれば真を返します。
IPv6 のマルチキャスト(サイトローカルスコープ)アドレスであれば真を返します。 -
Addrinfo
# ipv6 _ multicast? -> bool (18607.0) -
IPv6 のマルチキャストアドレス(ff00::/8)であれば真を返します。
IPv6 のマルチキャストアドレス(ff00::/8)であれば真を返します。 -
Addrinfo
# ipv6 _ sitelocal? -> bool (18607.0) -
IPv6 のサイトローカルアドレス(fec0::/10, 3513)であれば真を返します。
IPv6 のサイトローカルアドレス(fec0::/10, 3513)であれば真を返します。 -
Addrinfo
# ipv6 _ to _ ipv4 -> Addrinfo|nil (18607.0) -
IPv6 の v4 マップド/互換アドレスを v4 のアドレスに変換します。
...ップド/互換アドレスを v4 のアドレスに変換します。
それ以外のアドレスの場合 nil を返します。
require 'socket'
Addrinfo.ip("::192.0.2.3").ipv6_to_ipv4 #=> #<Addrinfo: 192.0.2.3>
Addrinfo.ip("::ffff:192.0.2.3").ipv6_to_ipv4 #=> #<Addrinfo: 192.0.2.3... -
Addrinfo
# ipv6 _ v4compat? -> bool (18607.0) -
IPv6 の v4互換アドレス(::/80)であれば真を返します。
IPv6 の v4互換アドレス(::/80)であれば真を返します。 -
Addrinfo
# listen(backlog=5) -> Socket (18607.0) -
自身のアドレスにバインドされたソケットを作成し、 listen(2) を実行します。
...渡されたときにはそのブロックに生成された Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。
@param backlog バ... -
Addrinfo
# listen(backlog=5) {|sock| . . . } -> object (18607.0) -
自身のアドレスにバインドされたソケットを作成し、 listen(2) を実行します。
...渡されたときにはそのブロックに生成された Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。
@param backlog バ... -
Addrinfo
# protocol -> Integer (18607.0) -
ソケットプロトコルを整数で返します。
...ソケットプロトコルを整数で返します。
require 'socket'
Addrinfo.tcp("localhost", 80).protocol == Socket::IPPROTO_TCP #=> true... -
Addrinfo
# socktype -> Integer (18607.0) -
ソケットタイプを整数で返します。
...ソケットタイプを整数で返します。
require 'socket'
Addrinfo.tcp("localhost", 80).socktype == Socket::SOCK_STREAM #=> true... -
Addrinfo
# to _ s -> String (18607.0) -
struct sockaddr をパックした形式の文字列に変換します。
...struct sockaddr をパックした形式の文字列に変換します。
require 'socket'
Addrinfo.tcp("localhost", 80).to_sockaddr
#=> "\x02\x00\x00P\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"... -
Addrinfo
# to _ sockaddr -> String (18607.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
# unix _ path -> String (18607.0) -
Unix domain socket の path を文字列で返します。
...Unix domain socket の path を文字列で返します。
require 'socket'
Addrinfo.unix("/tmp/sock").unix_path #=> "/tmp/sock"
@raise SocketError アドレスが Unix domain socket のものでない場合に発生します...