クラス
- Addrinfo (324)
- BasicSocket (228)
- IPSocket (36)
- SOCKSSocket (12)
- Socket (120)
-
Socket
:: AncillaryData (144) -
Socket
:: Ifaddr (104) -
Socket
:: Option (108) -
Socket
:: UDPSource (36) - TCPServer (48)
- UDPSocket (72)
- UNIXServer (48)
- UNIXSocket (72)
キーワード
- accept (36)
-
accept
_ nonblock (36) - addr (36)
- afamily (12)
- bind (48)
- bool (12)
- broadaddr (12)
- canonname (12)
- close (12)
-
cmsg
_ is? (12) - connect (48)
-
connect
_ address (12) -
connect
_ from (24) -
connect
_ nonblock (12) -
connect
_ to (24) - data (24)
-
do
_ not _ reverse _ lookup (12) -
do
_ not _ reverse _ lookup= (12) - dstaddr (12)
- family (24)
- flags (12)
- getnameinfo (12)
- getpeereid (12)
- getpeername (12)
- getsockname (12)
- getsockopt (12)
- ifindex (12)
- inspect (12)
-
inspect
_ sockaddr (12) - int (24)
-
ip
_ address (12) -
ip
_ pktinfo (12) -
ip
_ port (12) -
ip
_ unpack (12) -
ipv4
_ private? (12) -
ipv6
_ mc _ nodelocal? (12) -
ipv6
_ mc _ sitelocal? (12) -
ipv6
_ pktinfo (12) -
ipv6
_ pktinfo _ addr (12) -
ipv6
_ pktinfo _ ifindex (12) -
ipv6
_ sitelocal? (12) -
ipv6
_ unique _ local? (12) -
ipv6
_ unspecified? (12) -
ipv6
_ v4mapped? (12) - ipv6only! (12)
- level (24)
- linger (12)
- listen (60)
-
local
_ address (24) - name (12)
- netmask (12)
- optname (12)
- path (12)
- peeraddr (24)
- pfamily (12)
- protocol (12)
- recv (12)
-
recv
_ io (12) -
recv
_ nonblock (12) - recvfrom (36)
-
recvfrom
_ nonblock (24) - recvmsg (12)
-
recvmsg
_ nonblock (12) -
remote
_ address (24) - reply (12)
- send (48)
-
send
_ io (12) - sendmsg (12)
-
sendmsg
_ nonblock (12) - setsockopt (24)
- shutdown (12)
- socktype (12)
- sysaccept (36)
-
to
_ s (12) - type (12)
-
unix
_ rights (12) - unpack (12)
- vhid (8)
検索結果
先頭5件
-
BasicSocket
# getsockopt(level , optname) -> Socket :: Option (9203.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 getsockopt(2) の 第三引数のoption_name
@see BasicSocket#setsockopt
例:
require 'socket'
serv = Socket.tcp_server_sockets("", 0)[0]
c = serv.local_address.connect......s = serv.accept
opt = c.getsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY)
# c.getsockopt("TCP", "NODELAY"), なども可能
p opt #=> #<Socket::Option: INET TCP NODELAY 0>
p opt.bool #=> false (Nagle アルゴリズム有効)
p opt.unpack("i")[0] #=> 0 (Socket::Option#unpack が互... -
BasicSocket
# setsockopt(socketoption) -> 0 (9203.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へのポインタが渡されます。
true/falseの場合は0/1という整数と解釈され...... Socket::Option で設定値を表現します。
require 'socket'
# 真偽値の場合
#setsockopt could be called like this:
sock.setsockopt(:SOCKET, :REUSEADDR, true)
sock.setsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR, true)
sock.setsockopt(Socket::Option.bool(:INET, :SOCKET,... -
BasicSocket
# getpeereid -> [Integer , Integer] (9103.0) -
Unix ドメインソケットにおいて接続相手の euid と egid を 返します。
... euid と egid を
返します。
配列の最初の要素が euid, 2番目の要素が egid です。
ソケットが Unix ドメインソケットでない場合の返り値は
不定です。
require 'socket'
Socket.unix_server_loop("/tmp/sock") {|s|
begin
euid, egid = s.getpee......reid
# Check the connected client is myself or not.
next if euid != Process.uid
# do something about my resource.
ensure
s.close
end
}... -
BasicSocket
# getpeername -> String (9103.0) -
接続の相手先のソケットの情報を取得します。sockaddr 構造体をパッ クした文字列を返します。getpeername(2) を参照してください。
...ッ
クした文字列を返します。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) #=> [46988, "127.0.0.1"]
p addr == s.getsockname #=> true... -
BasicSocket
# getsockname -> String (9103.0) -
ソケットの情報を取得します。sockaddr 構造体をパックした 文字列を返します。getsockname(2) を参照してください。
...。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 = TCPSocket.open(*......Socket.unpack_sockaddr_in(serv.getsockname).reverse)
s = serv.accept... -
BasicSocket
# setsockopt(level , optname , optval) -> 0 (9103.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へのポインタが渡されます。
true/falseの場合は0/1という整数と解釈され...... Socket::Option で設定値を表現します。
require 'socket'
# 真偽値の場合
#setsockopt could be called like this:
sock.setsockopt(:SOCKET, :REUSEADDR, true)
sock.setsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR, true)
sock.setsockopt(Socket::Option.bool(:INET, :SOCKET,... -
Socket
:: Ifaddr # netmask -> Addrinfo | nil (9103.0) -
self のネットマスクを Addrinfo オブジェクトで返します。 self が利用できない場合は nil を返します。
...self のネットマスクを Addrinfo オブジェクトで返します。
self が利用できない場合は nil を返します。... -
TCPServer
# accept -> TCPSocket (9103.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"
}... -
TCPServer
# accept _ nonblock -> TCPSocket (9103.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
...キングモードに設定した後、
accept(2) を呼び出します。
返り値は TCPServer#accept と同じです。
accept(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
@raise Errno::EXXX accept(2) がエラーになった場合に発...