ライブラリ
- ビルトイン (5)
-
drb
/ acl (1) - etc (1)
- ipaddr (1)
-
net
/ ftp (1) -
net
/ pop (1) -
net
/ telnet (1) - openssl (38)
- pathname (1)
- resolv-replace (6)
- shell (1)
-
shell
/ command-processor (1) -
shell
/ filter (1) - socket (990)
-
webrick
/ https (1) -
webrick
/ server (1)
クラス
- ACL (1)
- Addrinfo (26)
- BasicSocket (22)
- File (1)
-
File
:: Stat (1) - IPAddr (1)
- IPSocket (4)
-
Net
:: FTP (1) -
Net
:: POP3 (1) -
Net
:: Telnet (1) -
OpenSSL
:: SSL :: SSLServer (2) -
OpenSSL
:: SSL :: SSLSocket (27) - Pathname (1)
- SOCKSSocket (4)
- Shell (1)
-
Shell
:: CommandProcessor (1) -
Shell
:: Filter (1) - Socket (450)
-
Socket
:: AncillaryData (17) -
Socket
:: Ifaddr (8) -
Socket
:: Option (13) -
Socket
:: UDPSource (4) - TCPServer (2)
- TCPSocket (5)
- UDPSocket (11)
- UNIXServer (6)
- UNIXSocket (12)
-
WEBrick
:: GenericServer (1) -
WEBrick
:: HTTPRequest (1)
モジュール
- Etc (1)
- FileTest (1)
-
OpenSSL
:: SSL :: SocketForwarder (7) -
Socket
:: Constants (399)
キーワード
-
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) - AncillaryData (1)
- BasicSocket (1)
- Constants (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) - ENOTSOCK (1)
- ESOCKTNOSUPPORT (1)
-
IFF
_ 802 _ 1Q _ VLAN (2) -
IFF
_ ALLMULTI (2) -
IFF
_ ALTPHYS (2) -
IFF
_ AUTOMEDIA (2) -
IFF
_ BONDING (2) -
IFF
_ BRIDGE _ PORT (2) -
IFF
_ BROADCAST (2) -
IFF
_ CANTCHANGE (2) -
IFF
_ CANTCONFIG (2) -
IFF
_ DEBUG (2) -
IFF
_ DISABLE _ NETPOLL (2) -
IFF
_ DONT _ BRIDGE (2) -
IFF
_ DORMANT (2) -
IFF
_ DRV _ OACTIVE (2) -
IFF
_ DRV _ RUNNING (2) -
IFF
_ DYING (2) -
IFF
_ DYNAMIC (2) -
IFF
_ EBRIDGE (2) -
IFF
_ ECHO (2) -
IFF
_ ISATAP (2) -
IFF
_ LINK0 (2) -
IFF
_ LINK1 (2) -
IFF
_ LINK2 (2) -
IFF
_ LIVE _ ADDR _ CHANGE (2) -
IFF
_ LOOPBACK (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
_ MULTICAST (2) -
IFF
_ NOARP (2) -
IFF
_ NOTRAILERS (2) -
IFF
_ OACTIVE (2) -
IFF
_ OVS _ DATAPATH (2) -
IFF
_ POINTOPOINT (2) -
IFF
_ PORTSEL (2) -
IFF
_ PPROMISC (2) -
IFF
_ PROMISC (2) -
IFF
_ RENAMING (2) -
IFF
_ ROUTE (2) -
IFF
_ RUNNING (2) -
IFF
_ SIMPLEX (2) -
IFF
_ SLAVE (2) -
IFF
_ SLAVE _ INACTIVE (2) -
IFF
_ SLAVE _ NEEDARP (2) -
IFF
_ SMART (2) -
IFF
_ STATICARP (2) -
IFF
_ SUPP _ NOFCS (2) -
IFF
_ TEAM _ PORT (2) -
IFF
_ TX _ SKB _ SHARING (2) -
IFF
_ UNICAST _ FLT (2) -
IFF
_ UP (2) -
IFF
_ VOLATILE (2) -
IFF
_ WAN _ HDLC (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) - IPSocket (1)
-
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) - Option (1)
-
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) -
SC
_ RAW _ SOCKETS (1) -
SHUT
_ RD (2) -
SHUT
_ RDWR (2) -
SHUT
_ WR (2) - SOCKSSocket (1)
-
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) - SSLSocket (1)
- Socket (1)
- SocketError (1)
- SocketForwarder (1)
- TCPSocket (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) - UDPSocket (1)
- UDPSource (1)
-
UDP
_ CORK (2) - UNIXSocket (1)
- accept (5)
-
accept
_ loop (1) -
accept
_ nonblock (4) - addr (4)
-
allow
_ socket? (1) - bind (5)
- bool (2)
- broadaddr (1)
- cert (1)
- cipher (1)
- close (1)
- closed? (1)
-
cmsg
_ is? (1) - connect (6)
-
connect
_ address (1) -
connect
_ from (2) -
connect
_ nonblock (2) -
connect
_ to (2) - context (1)
- data (2)
-
do
_ not _ reverse _ lookup (2) -
do
_ not _ reverse _ lookup= (3) - dstaddr (1)
- family (2)
-
family
_ addrinfo (2) - fcntl (1)
- flags (1)
-
for
_ fd (1) - foreach (2)
- getaddress (1)
- getaddrinfo (2)
- gethostbyaddr (1)
- gethostbyname (2)
- gethostname (1)
- getifaddrs (1)
- getnameinfo (1)
- getpeereid (1)
- getpeername (1)
- getservbyname (1)
- getservbyport (1)
- getsockname (1)
- getsockopt (2)
- hostname (1)
- hostname= (1)
- ifindex (1)
- inspect (1)
-
inspect
_ sockaddr (1) - int (4)
- io (1)
- ip? (1)
-
ip
_ address _ list (1) -
ip
_ pktinfo (2) - ipv4? (1)
- ipv6? (1)
-
ipv6
_ pktinfo (2) -
ipv6
_ pktinfo _ addr (1) -
ipv6
_ pktinfo _ ifindex (1) -
ipv6
_ to _ ipv4 (1) - ipv6only! (1)
- level (2)
- linger (2)
- listen (3)
-
local
_ address (2) - name (1)
- netmask (1)
- new (17)
- open (9)
- optname (1)
-
pack
_ sockaddr _ in (1) -
pack
_ sockaddr _ un (1) - pair (2)
- parse (1)
- path (1)
-
peer
_ cert (1) -
peer
_ cert _ chain (1) - peeraddr (3)
- pending (1)
-
post
_ connection _ check (1) - recv (1)
-
recv
_ io (1) -
recv
_ nonblock (1) - recvfrom (3)
-
recvfrom
_ nonblock (2) - recvmsg (1)
-
recvmsg
_ nonblock (1) -
remote
_ address (2) - reply (1)
-
ruby 1
. 6 feature (1) - run (1)
- send (5)
-
send
_ io (1) - sendmsg (1)
-
sendmsg
_ nonblock (1) - session (1)
- session= (1)
-
session
_ reused? (1) -
set
_ socket (1) - setsockopt (3)
- shutdown (2)
-
sockaddr
_ in (1) -
sockaddr
_ un (1) - socket (1)
- socket? (7)
-
socket
_ type (1) - socketpair (2)
- socktype (1)
- state (1)
-
sync
_ close (1) -
sync
_ close= (1) - sysaccept (1)
- sysclose (1)
- sysread (1)
- syswrite (1)
- tcp (2)
-
tcp
_ server _ loop (2) -
tcp
_ server _ sockets (4) -
to
_ io (1) -
to
_ s (1) -
to
_ sockaddr (1) - type (1)
-
udp
_ server _ loop (2) -
udp
_ server _ loop _ on (1) -
udp
_ server _ recv (1) -
udp
_ server _ sockets (4) - unix (3)
- 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) -
verify
_ result (1)
検索結果
先頭5件
-
socket (78001.0)
-
socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。
socket はプロセス外部との通信 (プロセス間通信、ホスト間通信) を実現します。
=== ソケットアドレス
ソケットというのは通信路の末端です。
たとえば 1対1 の通信では、まず通信路の両端にひとつずつソケットをつくり、
それらのソケットを接続することによって通信路が確立し、相互に通信できるようになります。
この接続時に、一方のソケットにもう一方のソケットの場所を教えてやる必要がありますが、
この場所を指定するものがソケットアドレスです。
ソケットアドレスはソケットの種類によって中身が異なります。
たとえば TCP では IP アドレスとポート番号ですし、
Unix ドメインソ... -
Net
:: Telnet # sock -> IO (54304.0) -
リモートホストに接続している IO オブジェクトを返します。
リモートホストに接続している IO オブジェクトを返します。
Telnet オブジェクトのメソッドはこのオブジェクトに
移譲されているので、Telnetオブジェクトは IO オブジェクト
オブジェクトのメソッドを持ち、それらを呼ぶと IO オブジェクトに
転送されます。 -
SOCKSSocket (36001.0)
-
TCPSocket を SOCKS(http://www.sw.nec.co.jp/middle/socks/) 対応したクラスです。
TCPSocket を SOCKS(http://www.sw.nec.co.jp/middle/socks/) 対応したクラスです。 -
BasicSocket
# setsockopt(socketoption) -> 0 (27727.0) -
ソケットのオプションを設定します。setsockopt(2) を参照してください。
ソケットのオプションを設定します。setsockopt(2)
を参照してください。
level, optname には Socket::SOL_SOCKET や Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。
optval には文字列、整数、真偽値(true or false)を渡すことができます。
文字列の場合には setsockopt(2) にはその文字列と
長さが渡されます。整数の場合はintへのポイン... -
Socket
. unix _ server _ socket(path) -> Socket (27676.0) -
Unix サーバソケットを生成します。
Unix サーバソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
socket = Socket.unix_server_socket("/tmp/s")
p socket #=> #<Socket:fd 3>
p socket.local_address #=> #<... -
Socket
. unix _ server _ socket(path) {|sock| . . . } -> object (27676.0) -
Unix サーバソケットを生成します。
Unix サーバソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
socket = Socket.unix_server_socket("/tmp/s")
p socket #=> #<Socket:fd 3>
p socket.local_address #=> #<... -
BasicSocket
# getsockopt(level , optname) -> Socket :: Option (27601.0) -
ソケットのオプションを取得します。getsockopt(2) を参照してください。 取得したオプションのデータを Socket::Option で返します。
ソケットのオプションを取得します。getsockopt(2)
を参照してください。
取得したオプションのデータを Socket::Option で返します。
level, optname には Socket::SOL_SOCKET や Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。
@param level getsockopt(2) の 第二引数のlevel
@param optname gets... -
Socket
. tcp _ server _ sockets(host , port) -> [Socket] (27601.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを
作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
返り値はブロックの評価値となります。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
require 'socket'
# tcp_server_sockets returns は2つのソケットを返す
sockets = Socke... -
Socket
. tcp _ server _ sockets(host , port) {|sockets| . . . } -> object (27601.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを
作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
返り値はブロックの評価値となります。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
require 'socket'
# tcp_server_sockets returns は2つのソケットを返す
sockets = Socke... -
Socket
. tcp _ server _ sockets(port) -> [Socket] (27601.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを
作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
返り値はブロックの評価値となります。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
require 'socket'
# tcp_server_sockets returns は2つのソケットを返す
sockets = Socke... -
Socket
. tcp _ server _ sockets(port) {|sockets| . . . } -> object (27601.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを 作成します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを
作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
返り値はブロックの評価値となります。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
require 'socket'
# tcp_server_sockets returns は2つのソケットを返す
sockets = Socke... -
Socket
. udp _ server _ sockets(host , port) -> [Sockets] (27601.0) -
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
# UDP/IP echo server
require 'socket'
Socket.udp_server_sockets(0) {|sockets|
p sockets.firs... -
Socket
. udp _ server _ sockets(host , port) {|sockets| . . . } -> object (27601.0) -
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
# UDP/IP echo server
require 'socket'
Socket.udp_server_sockets(0) {|sockets|
p sockets.firs... -
Socket
. udp _ server _ sockets(port) -> [Sockets] (27601.0) -
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
# UDP/IP echo server
require 'socket'
Socket.udp_server_sockets(0) {|sockets|
p sockets.firs... -
Socket
. udp _ server _ sockets(port) {|sockets| . . . } -> object (27601.0) -
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
UDP で host:port を待ち受けるサーバ側のソケットを作成します。
ブロックなしの場合は、ソケットオブジェクトの配列を返します。
ブロック付きの場合は、ソケットオブジェクトをそのブロックに
渡して呼び出します。ブロック終了時にそれらのソケットを閉じます。
port が 0 の場合は、実際のポート番号は動的に選ばれます。
ただし返り値のソケットはすべて同じ番号を持ちます。
# UDP/IP echo server
require 'socket'
Socket.udp_server_sockets(0) {|sockets|
p sockets.firs... -
Socket
. unpack _ sockaddr _ in(sockaddr) -> Array (27601.0) -
lib:socket#pack_stringを unpack したアドレスを返します。返される値は [port, ipaddr] の配列です。
lib:socket#pack_stringを
unpack したアドレスを返します。返される値は [port, ipaddr]
の配列です。
@param sockaddr ソケットアドレス構造体を pack した文字列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.soc... -
Socket
. unpack _ sockaddr _ un(sockaddr) -> String (27601.0) -
lib:socket#pack_stringを unpack したソケットパス名を返します。
lib:socket#pack_stringを
unpack したソケットパス名を返します。
@param sockaddr ソケットアドレス構造体を pack した文字列lib:socket#pack_stringを指定します。
例:
require 'socket'
p Socket.unpack_sockaddr_un(Socket.sockaddr_un("/tmp/.X11-unix/X0"))
=> "/tmp/.X11-unix/X0" -
BasicSocket
# setsockopt(level , optname , optval) -> 0 (27427.0) -
ソケットのオプションを設定します。setsockopt(2) を参照してください。
ソケットのオプションを設定します。setsockopt(2)
を参照してください。
level, optname には Socket::SOL_SOCKET や Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。
optval には文字列、整数、真偽値(true or false)を渡すことができます。
文字列の場合には setsockopt(2) にはその文字列と
長さが渡されます。整数の場合はintへのポイン... -
Socket
:: Constants :: SOCK _ DGRAM -> Integer (27304.0) -
データグラム通信。 Socket.open の第二引数 type に使用します。
データグラム通信。
Socket.open の第二引数 type に使用します。
@see socket(2), Socket.open -
Socket
:: Constants :: SOCK _ PACKET -> Integer (27304.0) -
デバイスレベルインターフェース。Obsoleteであり使うべきではない。 Socket.open の第二引数 type に使用します。
デバイスレベルインターフェース。Obsoleteであり使うべきではない。
Socket.open の第二引数 type に使用します。
@see packet(7linux), Socket.open -
Socket
:: Constants :: SOCK _ RAW -> Integer (27304.0) -
RAW ソケット。 Socket.open の第二引数 type に使用します。
RAW ソケット。
Socket.open の第二引数 type に使用します。
@see sys/socket.h(header), socket(2linux),
raw(7linux), Socket.open -
Socket
:: Constants :: SOCK _ RDM -> Integer (27304.0) -
信頼性のあるデータグラム通信。 Socket.open の第二引数 type に使用します。
信頼性のあるデータグラム通信。
Socket.open の第二引数 type に使用します。
@see socket(2linux), Socket.open -
Socket
:: Constants :: SOCK _ SEQPACKET -> Integer (27304.0) -
固定最大長を持つストリーム通信。 Socket.open の第二引数 type に使用します。
固定最大長を持つストリーム通信。
Socket.open の第二引数 type に使用します。
@see Socket.open, socket(2), socket(2linux),
socket(2freebsd) -
Socket
:: Constants :: SOCK _ STREAM -> Integer (27304.0) -
ストリーム通信。 Socket.open の第二引数 type に使用します。
ストリーム通信。
Socket.open の第二引数 type に使用します。
@see Socket.open, socket(2), socket(2linux),
socket(2freebsd) -
Socket
:: SOCK _ DGRAM -> Integer (27304.0) -
データグラム通信。 Socket.open の第二引数 type に使用します。
データグラム通信。
Socket.open の第二引数 type に使用します。
@see socket(2), Socket.open -
Socket
:: SOCK _ PACKET -> Integer (27304.0) -
デバイスレベルインターフェース。Obsoleteであり使うべきではない。 Socket.open の第二引数 type に使用します。
デバイスレベルインターフェース。Obsoleteであり使うべきではない。
Socket.open の第二引数 type に使用します。
@see packet(7linux), Socket.open -
Socket
:: SOCK _ RAW -> Integer (27304.0) -
RAW ソケット。 Socket.open の第二引数 type に使用します。
RAW ソケット。
Socket.open の第二引数 type に使用します。
@see sys/socket.h(header), socket(2linux),
raw(7linux), Socket.open -
Socket
:: SOCK _ RDM -> Integer (27304.0) -
信頼性のあるデータグラム通信。 Socket.open の第二引数 type に使用します。
信頼性のあるデータグラム通信。
Socket.open の第二引数 type に使用します。
@see socket(2linux), Socket.open -
Socket
:: SOCK _ SEQPACKET -> Integer (27304.0) -
固定最大長を持つストリーム通信。 Socket.open の第二引数 type に使用します。
固定最大長を持つストリーム通信。
Socket.open の第二引数 type に使用します。
@see Socket.open, socket(2), socket(2linux),
socket(2freebsd) -
Socket
:: SOCK _ STREAM -> Integer (27304.0) -
ストリーム通信。 Socket.open の第二引数 type に使用します。
ストリーム通信。
Socket.open の第二引数 type に使用します。
@see Socket.open, socket(2), socket(2linux),
socket(2freebsd) -
BasicSocket
# getsockname -> String (27301.0) -
ソケットの情報を取得します。sockaddr 構造体をパックした 文字列を返します。getsockname(2) を参照してください。
ソケットの情報を取得します。sockaddr 構造体をパックした
文字列を返します。getsockname(2) を参照してください。
例:
require 'socket'
serv = TCPServer.open("", 0)
p serv.getsockname #=> "\002\000\236C\000\000\000\000\000\000\000\000\000\000\000\000"
p Socket.unpack_sockaddr_in(serv.getsockname) #=> [40515, "0.0.0.0"]
c ... -
OpenSSL
:: SSL :: SocketForwarder # getsockopt(level , optname) -> String (27301.0) -
ラップされているソケットのオプションを設定します。
ラップされているソケットのオプションを設定します。
BasicSocket#getsockopt と同様です。
@param level getsockopt(2) の 第二引数のlevel に相当する整数を指定します
@param optname getsockopt(2) の 第三引数のoption_name に相当する整数を指定します -
OpenSSL
:: SSL :: SocketForwarder # setsockopt(level , optname , optval) -> 0 (27301.0) -
ラップされているソケットのオプションを設定します。
ラップされているソケットのオプションを設定します。
BasicSocket#setsockopt と同様です。
@param level setsockopt(2) の level に相当する整数を指定します
@param optname setsockopt(2) の option_name に相当する整数を指定します
@param optval 設定される値を文字列で指定します。
@raise Errno::EXXX オプションの設定に失敗した場合発生します。 -
Socket
. pack _ sockaddr _ in(port , host) -> String (27301.0) -
指定したアドレスをlib:socket#pack_string で返します。port は、ポート番号を表す Fixnum あるいは、ポート 番号、サービス名を表す文字列です。
指定したアドレスをlib:socket#pack_string
で返します。port は、ポート番号を表す Fixnum あるいは、ポート
番号、サービス名を表す文字列です。
@param port ポート番号を表す Fixnum あるいは、ポート番号、サービス名を表す文字列を指定します。
@param host ホストを文字列で指定します。
@return 指定したアドレスを返します。
例:
require 'socket'
p Socket.sockaddr_in("echo", "localhost")
=> "\002\000\000\a\177\000\00... -
Socket
. pack _ sockaddr _ un(path) -> String (27301.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
. sockaddr _ in(port , host) -> String (27301.0) -
指定したアドレスをlib:socket#pack_string で返します。port は、ポート番号を表す Fixnum あるいは、ポート 番号、サービス名を表す文字列です。
指定したアドレスをlib:socket#pack_string
で返します。port は、ポート番号を表す Fixnum あるいは、ポート
番号、サービス名を表す文字列です。
@param port ポート番号を表す Fixnum あるいは、ポート番号、サービス名を表す文字列を指定します。
@param host ホストを文字列で指定します。
@return 指定したアドレスを返します。
例:
require 'socket'
p Socket.sockaddr_in("echo", "localhost")
=> "\002\000\000\a\177\000\00... -
Socket
. sockaddr _ un(path) -> String (27301.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
:: Constants :: EAI _ SOCKTYPE -> Integer (27301.0) -
Socket type not supported
Socket type not supported
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerror(3freebsd) -
Socket
:: Constants :: SOL _ SOCKET -> Integer (27301.0) -
Socket level options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第一引数(level)に使用します。
Socket level options。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第一引数(level)に使用します。
@see getsockopt(2), setsockopt(2),
sys/socket.h(header), socket(7linux)
getsockopt(2freebsd) -
Socket
:: EAI _ SOCKTYPE -> Integer (27301.0) -
Socket type not supported
Socket type not supported
getaddrinfo(3), getnameinfo(3) などの
エラーコードです。
対応する Socket.getaddrinfo, Addrinfo.getaddrinfo などは
エラーを SocketError に変換するため、この定数は直接は利用しません。
@see getaddrinfo(3linux), gai_strerror(3freebsd) -
Socket
:: SOL _ SOCKET -> Integer (27301.0) -
Socket level options。 BasicSocket#getsockopt, BasicSocket#setsockopt の第一引数(level)に使用します。
Socket level options。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第一引数(level)に使用します。
@see getsockopt(2), setsockopt(2),
sys/socket.h(header), socket(7linux)
getsockopt(2freebsd) -
UNIXSocket
. socketpair(type=Socket :: SOCK _ STREAM , protocol=0) -> [UNIXSocket , UNIXSocket] (19561.0) -
相互に結合された UNIX ソケットのペアを含む2要素の配列を返します。
相互に結合された UNIX ソケットのペアを含む2要素の配列を返します。
type にはソケットタイプを指定します。
Socket::SOCK_STREAM, Socket::SOCK_DGRAM, Socket::SOCK_RAW などの
整数、:STREAM, :DGRAM, :RAW などのシンボル、
"STREAM" などの文字列が渡せます。
protocol には プロトコルを指定します。0 は Unix domain でのデフォルト値が
使われます。
require 'socket'
s1, s2 = UNIXSocket.pair
s1.send "a", ... -
Net
:: FTP # set _ socket(sock , get _ greeting = true) -> nil (18706.0) -
FTP のコントロール接続の ソケットを TCPSocket オブジェクト sock に設定します。
FTP のコントロール接続の
ソケットを TCPSocket オブジェクト sock に設定します。
get_greeting に偽が与えられると、
set_socket は通信先を設定するだけで sock に対する操作を
何も行ないません。
get_greeting が真ならば、通信先を sock に
設定したあと、通常FTPサーバが接続時に送ってくるメッセージを読み込みます。
通常このメソッドは使うべきではありません。このライブラリの
実装を理解した上で必要な場合のみ利用してください。
@param sock コントロール接続に使うソケットを指定します。
@param get_gre... -
SOCKSSocket
. new(host , serv) -> SOCKSSocket (18601.0) -
SOCKSSocket.newのパラメータ host の名前解決に resolv ライブラリを使います。
SOCKSSocket.newのパラメータ host の名前解決に resolv
ライブラリを使います。
@param host ホスト名を文字列で指定します。
@param serv ホスト名を文字列で指定します。
@raise SocketError 名前解決に失敗した場合に発生します。 -
SOCKSSocket
. new(host , service) -> SOCKSSocket (18601.0) -
host で指定したホストの service で指定したポートと接続したソケッ トを返します。host はホスト名、またはインターネットアドレスを 示す文字列、service は /etc/services (または NIS) に登録されている サービス名かポート番号です。
host で指定したホストの service で指定したポートと接続したソケッ
トを返します。host はホスト名、またはインターネットアドレスを
示す文字列、service は /etc/services (または NIS) に登録されている
サービス名かポート番号です。
@param host ホスト名、またはインターネットアドレスを示す文字列を指定します。
@param service /etc/services (または NIS) に登録されているサービス名かポート番号です。 -
SOCKSSocket
. open(host , service) -> SOCKSSocket (18601.0) -
host で指定したホストの service で指定したポートと接続したソケッ トを返します。host はホスト名、またはインターネットアドレスを 示す文字列、service は /etc/services (または NIS) に登録されている サービス名かポート番号です。
host で指定したホストの service で指定したポートと接続したソケッ
トを返します。host はホスト名、またはインターネットアドレスを
示す文字列、service は /etc/services (または NIS) に登録されている
サービス名かポート番号です。
@param host ホスト名、またはインターネットアドレスを示す文字列を指定します。
@param service /etc/services (または NIS) に登録されているサービス名かポート番号です。 -
Addrinfo
# inspect _ sockaddr -> String (18337.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_sockaddr #=> "/tmp/sock" -
Addrinfo
# socktype -> Integer (18319.0) -
ソケットタイプを整数で返します。
ソケットタイプを整数で返します。
require 'socket'
Addrinfo.tcp("localhost", 80).socktype == Socket::SOCK_STREAM #=> true -
ACL
# allow _ socket?(soc) -> bool (18301.0) -
ソケットに関連付けられたアドレスが ACL で許可されているならば 真を返します。
ソケットに関連付けられたアドレスが ACL で許可されているならば
真を返します。
@param soc 判定対象のソケット -
File
. socket?(path) -> bool (18301.0) -
FileTest.#socket? と同じです。
FileTest.#socket? と同じです。
@param path パスを表す文字列か IO オブジェクトを指定します。 -
File
:: Stat # socket? -> bool (18301.0) -
ソケットの時に真を返します。
ソケットの時に真を返します。
//emlist[][ruby]{
Dir.glob("/tmp/*"){|file|
if File::Stat.new(file).socket?
printf "%s\n", file
end
}
#例
#=> /tmp/uimhelper-hogehoge
#...
//} -
FileTest
. # socket?(file) -> bool (18301.0) -
ファイルがソケットである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがソケットである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
//emlist[例][ruby]{
require "socket"
IO.write("testfile", "test")
p FileTest.socket?("testfile") ... -
Net
:: POP3 . socket _ type -> Class (18301.0) -
このメソッドは obsolete です。 使わないでください。
このメソッドは obsolete です。
使わないでください。 -
Pathname
# socket? -> bool (18301.0) -
FileTest.socket?(self.to_s) と同じです。
FileTest.socket?(self.to_s) と同じです。
@see FileTest.#socket? -
Shell
# socket?(file) -> bool (18301.0) -
FileTest モジュールにある同名のクラスメソッドと同じです.
FileTest モジュールにある同名のクラスメソッドと同じです.
@param file ファイル名を表す文字列を指定します。
@see FileTest.#socket? -
Shell
:: CommandProcessor # socket?(file) -> bool (18301.0) -
FileTest モジュールにある同名のクラスメソッドと同じです.
FileTest モジュールにある同名のクラスメソッドと同じです.
@param file ファイル名を表す文字列を指定します。
@see FileTest.#socket? -
Shell
:: Filter # socket?(file) -> bool (18301.0) -
FileTest モジュールにある同名のクラスメソッドと同じです.
FileTest モジュールにある同名のクラスメソッドと同じです.
@param file ファイル名を表す文字列を指定します。
@see FileTest.#socket? -
Socket
. socketpair(domain , type , protocol=0) -> Array (18301.0) -
相互に結合されたソケットのペアを含む2要素の配列を返します。 引数の指定は Socket.open と同じです。
相互に結合されたソケットのペアを含む2要素の配列を返します。
引数の指定は Socket.open と同じです。
@param domain Socket.open を参照してください。
@param type Socket.open を参照してください。
@param protocol Socket.open を参照してください。
@see Socket.open -
BasicSocket (18001.0)
-
ソケットを表す抽象クラスです。具体的なソケット操作はサブクラスで 定義されます。
ソケットを表す抽象クラスです。具体的なソケット操作はサブクラスで
定義されます。
例えばインターネットドメインストリームソケットの場合は
TCPSocket を用います。 -
Errno
:: ENOTSOCK (18001.0) -
システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。 -
Errno
:: ESOCKTNOSUPPORT (18001.0) -
システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。
システムコールのエラーコードを表す例外クラスです。詳細は Errno::EXXX を参照してください。 -
IPSocket (18001.0)
-
インターネットドメインソケットの抽象クラス。
インターネットドメインソケットの抽象クラス。
通常の IO クラスのサブクラスと同様の入出力ができます。 -
OpenSSL
:: SSL :: SSLSocket (18001.0) -
ソケットをラップして SSL での認証と暗号通信を実現するためのクラスです。
ソケットをラップして SSL での認証と暗号通信を実現するためのクラスです。
=== 例
SSL/TLS サーバに接続して write します。
require 'socket'
require 'openssl'
include OpenSSL
soc = TCPSocket.new('www.example.com', 443)
ssl = SSL::SSLSocket.new(soc)
ssl.connect
ssl.post_connection_check('www.example.com')
raise "verification er... -
OpenSSL
:: SSL :: SocketForwarder (18001.0) -
to_io で返されるソケットオブジェクトにメソッドを フォワードするモジュールです。
to_io で返されるソケットオブジェクトにメソッドを
フォワードするモジュールです。
OpenSSL::SSL::SSLSocket や OpenSSL::SSL::SSLServer と
いったソケットの SSL ラッパクラスにソケット関連のメソッドを定義するため
に使われます。 -
SOCKSSocket
# close -> nil (18001.0) -
ソケットを閉じます。
ソケットを閉じます。 -
Socket (18001.0)
-
汎用ソケットクラス。
汎用ソケットクラス。
システムコールレベルから高水準の機能までを提供します。
ソケットオブジェクトを生成する汎用的な方法として
Socket.new がありますが、以下のようなより便利な
メソッドがあります。
* TCP のクライアントソケット Socket.tcp TCPSocket.open
* TCP のサーバソケット Socket.tcp_server_loop,
Socket.tcp_server_sockets, TCPServer.open
* UNIX socket のクライアントソケット Socket.unix UNIXSocket.open
* ... -
SocketError (18001.0)
-
socket ライブラリに関する例外クラスです。
socket ライブラリに関する例外クラスです。 -
TCPSocket (18001.0)
-
インターネットドメインのストリーム型ソケットのクラスです。
インターネットドメインのストリーム型ソケットのクラスです。
通常のIO クラスのサブクラスと同
様の入出力ができます。このクラスによってソケットを用いたクラ
イアントを簡単に記述できるようになります。
ユーザの入力をそのままサーバに転送するプログラムは以下の
ようになります。
require "socket"
port = if ARGV.size > 0 then ARGV.shift else 4444 end
print port, "\n"
s = TCPSocket.open("localhost", port)
while gets
... -
UDPSocket (18001.0)
-
UDP/IPデータグラム型ソケットのクラス。
UDP/IPデータグラム型ソケットのクラス。 -
UNIXSocket (18001.0)
-
UNIX ドメインのストリーム型ソケットのクラス。
UNIX ドメインのストリーム型ソケットのクラス。
通常の IO クラスのサブクラスと同様の入出力ができます。 -
UNIXSocket
. pair(type=Socket :: SOCK _ STREAM , protocol=0) -> [UNIXSocket , UNIXSocket] (10261.0) -
相互に結合された UNIX ソケットのペアを含む2要素の配列を返します。
相互に結合された UNIX ソケットのペアを含む2要素の配列を返します。
type にはソケットタイプを指定します。
Socket::SOCK_STREAM, Socket::SOCK_DGRAM, Socket::SOCK_RAW などの
整数、:STREAM, :DGRAM, :RAW などのシンボル、
"STREAM" などの文字列が渡せます。
protocol には プロトコルを指定します。0 は Unix domain でのデフォルト値が
使われます。
require 'socket'
s1, s2 = UNIXSocket.pair
s1.send "a", ... -
Socket
. accept _ loop(sockets) {|sock , client _ addrinfo| . . . } -> () (9604.0) -
sockets でサーバソケットを受け取り、接続を待ち受け、 クライアントとの接続が確立するたびにブロックにその接続 ソケットを渡し呼び出します。
sockets でサーバソケットを受け取り、接続を待ち受け、
クライアントとの接続が確立するたびにブロックにその接続
ソケットを渡し呼び出します。
ブロックの引数はクライアントと接続したソケットオブジェクトと
Addrinfo オブジェクトです。
Socket.tcp_server_loop と同様、ブロックは
逐次的に呼び出されます。つまりブロックか終了するまで
次の接続は accept されません。
並列に通信したい場合は
スレッドのような並列実行機構を使う必要があります。
@param sockets 待ち受けたいサーバソケットの配列
@see Socket.tcp_server... -
OpenSSL
:: SSL :: SSLSocket . new(socket) -> OpenSSL :: SSL :: SSLSocket (9601.0) -
socket をラップして SSLSocket オブジェクトを生成します。
socket をラップして SSLSocket オブジェクトを生成します。
socket には ラップする TCPSocket オブジェクトを与え、
context には SSL の設定情報を所持している
OpenSSL::SSL::SSLContext オブジェクトを与えます。
context を省略した場合は OpenSSL::SSL::SSLContext.new で
新たにコンテキストを生成してそれを用います。
@param socket ラップするソケット
@param context SSL の設定情報を持つ SSL コンテキストオブジェクト
@raise OpenSSL:... -
OpenSSL
:: SSL :: SSLSocket . new(socket , context) -> OpenSSL :: SSL :: SSLSocket (9601.0) -
socket をラップして SSLSocket オブジェクトを生成します。
socket をラップして SSLSocket オブジェクトを生成します。
socket には ラップする TCPSocket オブジェクトを与え、
context には SSL の設定情報を所持している
OpenSSL::SSL::SSLContext オブジェクトを与えます。
context を省略した場合は OpenSSL::SSL::SSLContext.new で
新たにコンテキストを生成してそれを用います。
@param socket ラップするソケット
@param context SSL の設定情報を持つ SSL コンテキストオブジェクト
@raise OpenSSL:... -
UDPSocket
. new(address _ family=Socket :: AF _ INET) -> UDPSocket (9601.0) -
新しい UDP ソケットを返します。
新しい UDP ソケットを返します。
address_family には Socket::AF_INET のような整数、:INET のような
シンボル、"INET" のような文字列を指定することができます。
require 'socket'
UDPSocket.new # => #<UDPSocket:fd 3>
UDPSocket.new(Socket::AF_INET6) # => #<UDPSocket:fd 4>
@param address_family ソケットのアドレスファミリー -
UDPSocket
. open(address _ family=Socket :: AF _ INET) -> UDPSocket (9601.0) -
新しい UDP ソケットを返します。
新しい UDP ソケットを返します。
address_family には Socket::AF_INET のような整数、:INET のような
シンボル、"INET" のような文字列を指定することができます。
require 'socket'
UDPSocket.new # => #<UDPSocket:fd 3>
UDPSocket.new(Socket::AF_INET6) # => #<UDPSocket:fd 4>
@param address_family ソケットのアドレスファミリー -
Socket
. tcp _ server _ loop(host , port) {|sock , addr| . . . } -> () (9451.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、
新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。
このメソッドはブロックを逐次的に呼び出します。
つまりブロックからリターンするまで次のコネクションを受け入れません。
そのため、同時に複数のクライアントと通信したい場合は
スレッドのような並列機構を使う必... -
Socket
. tcp _ server _ loop(port) {|sock , addr| . . . } -> () (9451.0) -
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。
TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、
新しい接続を受け入れるごとにブロックを呼び出します。
ブロックには新しい接続を表すソケットオブジェクトと、
クライアントアドレスを表す Addrinfo オブジェクトが渡されます。
ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。
このメソッドはブロックを逐次的に呼び出します。
つまりブロックからリターンするまで次のコネクションを受け入れません。
そのため、同時に複数のクライアントと通信したい場合は
スレッドのような並列機構を使う必... -
Socket
. unix(path) -> Socket (9394.0) -
Unix クライアントソケットを生成します。
Unix クライアントソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
# /tmp/sock と通信する
Socket.unix("/tmp/sock") {|sock|
t = Thread.new { IO.copy_stream(sock, STDOUT) }
IO.copy_stream... -
Socket
. unix(path) {|sock| . . . } -> object (9394.0) -
Unix クライアントソケットを生成します。
Unix クライアントソケットを生成します。
ブロックが省略されたときは、生成されたソケットが返されます。
ブロックが渡されたときは、生成されたソケットを
引数としてブロックを呼び出します。メソッドの返り値は
ブロックの評価値となります。また、ブロックの終了後に
ソケットを IO#close します。
require 'socket'
# /tmp/sock と通信する
Socket.unix("/tmp/sock") {|sock|
t = Thread.new { IO.copy_stream(sock, STDOUT) }
IO.copy_stream... -
Socket
. getaddrinfo(nodename , servname , family=nil , socktype=nil , protocol=nil , flags=nil) -> Array (9373.0) -
2553で定義された getaddrinfo() の機能を提供するクラスメソッド。この関数は gethostbyname() や getservbyname() の代わりとして用意されており、 IP のバージョンに依存しないプログラムを書くための標準的な API です。
2553で定義された
getaddrinfo() の機能を提供するクラスメソッド。この関数は
gethostbyname() や getservbyname() の代わりとして用意されており、
IP のバージョンに依存しないプログラムを書くための標準的な API です。
@param nodename ホスト名を指定します。 必須引数です。 (lib:socket#host_formatを参照)
@param servname サービス名を指定します。 必須引数です。 (lib:socket#service_formatを参照)
@param family アドレスファミリー。Sock... -
Socket
. tcp(host , port , local _ host=nil , local _ port=nil , connect _ timeout: nil) -> Socket (9373.0) -
TCP/IP で host:port に接続するソケットオブジェクトを作成します。
TCP/IP で host:port に接続するソケットオブジェクトを作成します。
local_host や local_port を指定した場合、ソケットをそこにバインドします。
ブロックを渡すと、生成したソケットをそのブロックに渡し呼び出します。
ブロック終了時にソケットオブジェクトを閉じます。
@param host 接続先のホスト名
@param port 接続先のポート番号
@param local_host 接続元のホスト名
@param local_port 接続元のポート番号
@param connect_timeout タイムアウトまでの秒数
@return ブロック付... -
Socket
. tcp(host , port , local _ host=nil , local _ port=nil , connect _ timeout: nil) {|socket| . . . } -> object (9373.0) -
TCP/IP で host:port に接続するソケットオブジェクトを作成します。
TCP/IP で host:port に接続するソケットオブジェクトを作成します。
local_host や local_port を指定した場合、ソケットをそこにバインドします。
ブロックを渡すと、生成したソケットをそのブロックに渡し呼び出します。
ブロック終了時にソケットオブジェクトを閉じます。
@param host 接続先のホスト名
@param port 接続先のポート番号
@param local_host 接続元のホスト名
@param local_port 接続元のポート番号
@param connect_timeout タイムアウトまでの秒数
@return ブロック付... -
Socket
. new(domain , type , protocol=0) -> Socket (9367.0) -
新しいソケットを生成します。domain、type、 protocol はインクルードファイルにある定数で指定しま す。ほとんどの定数は Socket::AF_INET のように Socket クラスの定数として定義されています。domain とtype に関しては、"AF_INET", "SOCK_STREAM" のように文字列でも指定できますが、文 字列ですべての機能を指定できる保証はありません。
新しいソケットを生成します。domain、type、
protocol はインクルードファイルにある定数で指定しま
す。ほとんどの定数は Socket::AF_INET のように
Socket クラスの定数として定義されています。domain
とtype に関しては、"AF_INET",
"SOCK_STREAM" のように文字列でも指定できますが、文
字列ですべての機能を指定できる保証はありません。
例えば、IPv4 の TCP ソケットは以下のように生成されます。
require 'socket'
s = Socket.new(Socket::AF_INET, Socket... -
Socket
. open(domain , type , protocol=0) -> Socket (9367.0) -
新しいソケットを生成します。domain、type、 protocol はインクルードファイルにある定数で指定しま す。ほとんどの定数は Socket::AF_INET のように Socket クラスの定数として定義されています。domain とtype に関しては、"AF_INET", "SOCK_STREAM" のように文字列でも指定できますが、文 字列ですべての機能を指定できる保証はありません。
新しいソケットを生成します。domain、type、
protocol はインクルードファイルにある定数で指定しま
す。ほとんどの定数は Socket::AF_INET のように
Socket クラスの定数として定義されています。domain
とtype に関しては、"AF_INET",
"SOCK_STREAM" のように文字列でも指定できますが、文
字列ですべての機能を指定できる保証はありません。
例えば、IPv4 の TCP ソケットは以下のように生成されます。
require 'socket'
s = Socket.new(Socket::AF_INET, Socket... -
BasicSocket
# sendmsg(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (9337.0) -
sendmsg(2) を用いてメッセージを送ります。
sendmsg(2) を用いてメッセージを送ります。
このメソッドはブロックします。ノンブロッキング方式で通信したい
場合は BasicSocket#sendmsg_nonblock を用います。
ソケットが connection-less の場合は dest_sockaddr で
通信先のアドレスを指定しなければなりません。Socket.sockaddr_in
の返り値や Addrinfo オブジェクトを引数として渡すことができます。
controls には 補助データ(ancillary data)を渡します。
Socket::AncillaryData のインスタンスや
3要素(c... -
UNIXSocket
. new(path) -> UNIXSocket (9325.0) -
path で指定したパス名を用いてソケットを接続します。
path で指定したパス名を用いてソケットを接続します。
ブロックを省略すると接続したソケットを返します。
ブロックを渡した場合は、接続したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続先のパス名文字列
require 'socket'
s = UNIXSocket.new("/tmp/sock")
s.send("hello", 0) -
UNIXSocket
. new(path) {|sock| . . . } -> object (9325.0) -
path で指定したパス名を用いてソケットを接続します。
path で指定したパス名を用いてソケットを接続します。
ブロックを省略すると接続したソケットを返します。
ブロックを渡した場合は、接続したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続先のパス名文字列
require 'socket'
s = UNIXSocket.new("/tmp/sock")
s.send("hello", 0) -
UNIXSocket
. open(path) -> UNIXSocket (9325.0) -
path で指定したパス名を用いてソケットを接続します。
path で指定したパス名を用いてソケットを接続します。
ブロックを省略すると接続したソケットを返します。
ブロックを渡した場合は、接続したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続先のパス名文字列
require 'socket'
s = UNIXSocket.new("/tmp/sock")
s.send("hello", 0) -
UNIXSocket
. open(path) {|sock| . . . } -> object (9325.0) -
path で指定したパス名を用いてソケットを接続します。
path で指定したパス名を用いてソケットを接続します。
ブロックを省略すると接続したソケットを返します。
ブロックを渡した場合は、接続したソケットを引数としてそのブロックを呼びだし、
ブロック終了時にソケットを閉じます。この場合には
ブロックの評価値を返り値として返します。
@param path 接続先のパス名文字列
require 'socket'
s = UNIXSocket.new("/tmp/sock")
s.send("hello", 0) -
BasicSocket
# recvmsg(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (9319.0) -
recvmsg(2) を用いてメッセージを受け取ります。
recvmsg(2) を用いてメッセージを受け取ります。
このメソッドはブロックします。ノンブロッキング方式で通信したい
場合は BasicSocket#recvmsg_nonblock を用います。
maxmesglen, maxcontrollen で受け取るメッセージおよび補助データ
(Socket::AncillaryData)の最大長をバイト単位で指定します。
省略した場合は必要なだけ内部バッファを拡大して
データが切れないようにします。
flags では Socket::MSG_* という名前の定数の biwsise OR を取った
ものを渡します。
opts にはその他... -
Socket
# connect(server _ sockaddr) -> 0 (9319.0) -
connect(2) でソケットを接続します。
connect(2) でソケットを接続します。
server_sockaddr は、
lib:socket#pack_string
もしくは Addrinfo オブジェクト
です。
0 を返します。
@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラーを報告した場合に発生します。詳しくは
man を参照してください。
たとえば IPv4 の TCP ソケットを生成し、connect で www.ruby-lang.org:80 に接続するには以下のようにします。
例:
require... -
Socket
# connect _ nonblock(server _ sockaddr) -> 0 (9319.0) -
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
ソケットをノンブロッキングモードに設定した後、
connect(2) を呼び出します。
引数、返り値は Socket#connect と同じです。
connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend されます。
これを connect_nonblock をリトライするために使うことができます。
# Pull down Google's web page
require 'socket'
include Socket::Constants
... -
Addrinfo
# to _ sockaddr -> String (9301.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" -
BasicSocket
# recvmsg _ nonblock(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (9301.0) -
recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。
recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。
ブロッキングの有無以外は BasicSocket#recvmsg と同じです。
詳しくはそちらを参照してください。
@param maxmesglen 受け取るメッセージの最大長
@param flags フラグ
@param maxcontrollen 受け取る補助データの最大長
@param opts ハッシュオプション -
BasicSocket
# send(mesg , flags , dest _ sockaddr = nil) -> Integer (9301.0) -
ソケットを介してデータを送ります。flags に関しては send(2) を参照してください。connect していないソケット に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ たデータの長さを返します。
ソケットを介してデータを送ります。flags に関しては
send(2) を参照してください。connect していないソケット
に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ
たデータの長さを返します。
dest_sockaddr には「ソケットアドレス構造体を pack した文字列」
を指定します。
データの送信に失敗した場合は例外 Errno::EXXX が発生します。
@param mesg 送信するデータを文字列で指定します。
@param flags send(2) の flags を参照してください。
@... -
BasicSocket
# sendmsg _ nonblock(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (9301.0) -
sendmsg(2) を用いてノンブロッキング方式でメッセージを送ります。
sendmsg(2) を用いてノンブロッキング方式でメッセージを送ります。
詳しくは BasicSocket#sendmsg を見てください。
@return 送ったバイト数
@param mesg メッセージ文字列
@param flags フラグ(Socket::MSG_* という定数の bitwise OR を取ったもの)
@param dest_sockaddr 通信先のアドレス
@param controls 補助データの配列
@see BasicSocket#sendmsg -
BasicSocket
# shutdown(how = Socket :: SHUT _ RDWR) -> 0 (9301.0) -
ソケットの以降の接続を終了させます。
ソケットの以降の接続を終了させます。
how の値によって以下のように接続が終了します。
* Socket::SHUT_RD: それ以降の受信が拒否されます
* Socket::SHUT_WR: それ以降の送信が拒否されます
* Socket::SHUT_RDWR: それ以降の送信、受信ともに拒否されます
how を省略すると Socket::SHUT_RDWR を指定したことになります。
shutdown(2) を参照してください。
@param how 接続の終了の仕方を Socket::SHUT_RD, Socket::SHUT_WR, Socket::SHUT_R... -
BasicSocket
. for _ fd(fd) -> BasicSocket (9301.0) -
ファイルディスクリプタ fd に対する新しいソケットを生成します。
ファイルディスクリプタ fd に対する新しいソケットを生成します。
返り値のクラスはどのクラスの for_fd を呼びだしたかによって決まります。
require 'socket'
BasicSocket.for_fd(fd) # BasicSocket のインスタンスを返す
TCPSocket.for_fd(fd) # TCPSocket のインスタンスを返す
@param fd ファイルディスクリプタ を指定します。
@return 任意のソケットである fd から対応するソケットクラスのインスタンスを作り、それを返します。 -
Etc
:: SC _ RAW _ SOCKETS -> Integer (9301.0) -
Etc.#sysconf の引数に指定します。
Etc.#sysconf の引数に指定します。
詳細は sysconf(3) を参照してください。