別のキーワード
クラス
- Addrinfo (27)
- BasicSocket (19)
- Socket (5)
-
Socket
:: AncillaryData (1) -
Socket
:: Ifaddr (1) -
Socket
:: Option (2) - TCPServer (2)
- UDPSocket (2)
- UNIXServer (2)
- UNIXSocket (1)
キーワード
-
accept
_ nonblock (3) - bind (4)
- bool (1)
- broadaddr (1)
-
cmsg
_ is? (1) - connect (1)
-
connect
_ address (1) -
connect
_ from (1) -
connect
_ nonblock (1) -
connect
_ to (1) -
do
_ not _ reverse _ lookup (1) -
do
_ not _ reverse _ lookup= (1) - getpeereid (1)
- getpeername (1)
- getsockname (1)
- getsockopt (1)
- ip? (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
_ sitelocal? (1) -
ipv6
_ unique _ local? (1) -
ipv6
_ unspecified? (1) -
ipv6
_ v4compat? (1) -
ipv6
_ v4mapped? (1) - linger (1)
- listen (5)
-
local
_ address (1) - recv (1)
-
recv
_ io (1) -
recv
_ nonblock (1) -
recvfrom
_ nonblock (2) - recvmsg (1)
-
recvmsg
_ nonblock (1) -
remote
_ address (1) - send (1)
- sendmsg (1)
-
sendmsg
_ nonblock (1) - setsockopt (2)
- shutdown (1)
- unix? (1)
検索結果
先頭5件
-
Socket
:: Option # bool -> bool (18610.0) -
オプションのデータ(内容)を真偽値に変換して返します。
...オプションのデータ(内容)を真偽値に変換して返します。
@raise TypeError dataのバイト数が不適切である(sizeof(int)と異なる)場合に発生します
@see Socket::Option#data... -
Addrinfo
# bind -> Socket (18310.0) -
自身のアドレスにバインドされたソケットを作成します。
...ブロックに生成された Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。
require 'socket'
Addrinfo.udp("0.0.0.0", 9981... -
Addrinfo
# bind {|sock| . . . } -> object (18310.0) -
自身のアドレスにバインドされたソケットを作成します。
...ブロックに生成された Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。
require 'socket'
Addrinfo.udp("0.0.0.0", 9981... -
Addrinfo
# ipv4 _ loopback? -> bool (18310.0) -
IPv4 のループバックアドレス(127.0.0.0/8) であれば真を返します。
IPv4 のループバックアドレス(127.0.0.0/8) であれば真を返します。
@see Addrinfo#ipv6_loopback? -
Addrinfo
# ipv6 _ loopback? -> bool (18310.0) -
IPv6 のループバックアドレス(::1)であれば真を返します。
IPv6 のループバックアドレス(::1)であれば真を返します。
@see Addrinfo#ipv4_loopback? -
Addrinfo
# ipv6 _ mc _ global? -> bool (18310.0) -
IPv6 のマルチキャスト(グローバルスコープ) アドレスであれば真を返します。
IPv6 のマルチキャスト(グローバルスコープ)
アドレスであれば真を返します。 -
BasicSocket
# recv _ nonblock(maxlen , flags = 0) -> String (18310.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。
...ンブロッキングモードに設定した後、
recvfrom(2) でソケットからデータを受け取ります。
引数、返り値は BasicSocket#recv と同じです。
recvfrom(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
@param max... -
BasicSocket
# recvmsg _ nonblock(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (18310.0) -
recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。
...recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。
ブロッキングの有無以外は BasicSocket#recvmsg と同じです。
詳しくはそちらを参照してください。
@param maxmesglen 受け取るメッセージの最大長
@param flags... -
BasicSocket
# sendmsg _ nonblock(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (18310.0) -
sendmsg(2) を用いてノンブロッキング方式でメッセージを送ります。
...cSocket#sendmsg を見てください。
@return 送ったバイト数
@param mesg メッセージ文字列
@param flags フラグ(Socket::MSG_* という定数の bitwise OR を取ったもの)
@param dest_sockaddr 通信先のアドレス
@param controls 補助データの配列
@see BasicSocket#... -
Socket
# accept _ nonblock -> Array (18310.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
...ソケットをノンブロッキングモードに設定した後、
accept(2) を呼び出します。
引数、返り値は Socket#accept と同じです。
accept(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。... -
Socket
# bind(my _ sockaddr) -> 0 (18310.0) -
ソケットを my_sockaddr に結合します。bind(2) と同じ働きをします。
...ソケットを my_sockaddr に結合します。bind(2)
と同じ働きをします。
@param my_sockaddr lib:socket#pack_stringもしくはAddrinfoオブジェクトを指定します。
@return 0 を返します。... -
Socket
# connect _ nonblock(server _ sockaddr) -> 0 (18310.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
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Addrinfo] (18310.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) を呼び出します。
...ソケットをノンブロッキングモードに設定した後、
recvfrom(2) を呼び出します。
引数、返り値は Socket#recvfrom と同じです。
recvfrom(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Er... -
Socket
:: Ifaddr # broadaddr -> Addrinfo | nil (18310.0) -
self のブロードキャストアドレスを Addrinfo オブジェクトで返します。 self.flags で Socket::IFF_BROADCAST が有効ではない場合は nil を返します。
...self のブロードキャストアドレスを Addrinfo オブジェクトで返します。
self.flags で Socket::IFF_BROADCAST が有効ではない場合は nil を返します。... -
TCPServer
# accept _ nonblock -> TCPSocket (18310.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
ソケットをノンブロッキングモードに設定した後、
accept(2) を呼び出します。
返り値は TCPServer#accept と同じです。
accept(2) がエラーになった場合、
EAGAIN, EINTR を含め例外 Errno::EXXX が発生します。
@raise Errno::EXXX accept(2) がエラーになった場合に発生します。 -
UDPSocket
# bind(host , port) -> 0 (18310.0) -
ソケットを host の port に bind(2) します。
...ソケットを host の port に bind(2) します。
bind したポートから BasicSocket#recv でデータを受け取ることができます。
@param host bind するホスト名文字列
@param port bind するポート番号... -
UDPSocket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Array] (18310.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。
...ットからデータを受け取ります。
maxlen で受け取るデータの最大バイト数を指定します。
flags はフラグで、Socket::MSG_* の bitwise OR を渡します。
詳しくは recvfrom(2) を参照してください。
返り値はデータの文字列と送り元の......可能であることを意味する例外には、IO::WaitReadable が extend
されています。
require 'socket'
s1 = UDPSocket.new
s1.bind("127.0.0.1", 0)
s2 = UDPSocket.new
s2.bind("127.0.0.1", 0)
s2.connect(*s1.addr.values_at(3,1))
s1.connect(*s2.addr.values_at(3,1))
s1.sen......emulate blocking recvfrom
p s2.recvfrom_nonblock(10)
#=> ["aaa", ["AF_INET", 33302, "localhost.localdomain", "127.0.0.1"]]
rescue IO::WaitReadable
IO.select([s2])
retry
end
@param maxlen 受け取るデータの最大バイト数
@param flags フラグ
@see IPSocket#recvfrom... -
UNIXServer
# accept _ nonblock -> UnixSocket (18310.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
...ブロッキングモードに設定した後、
accept(2) を呼び出します。
接続した
UNIXSocket のインスタンスを返します。
accept(2) がエラーになった場合、Socket#accept と同じ例外が
発生します。
Errno::EWOULDBLOCK, Errno::EAGAIN,
Errno::ECONNABORTE......を掴まえることができます。
require 'socket'
serv = UNIXServer.new("/tmp/sock")
begin # emulate blocking accept
sock = serv.accept_nonblock
rescue IO::WaitReadable, Errno::EINTR
IO.select([serv])
retry
end
# sock is an accepted socket.
@see UNIXServer#accept... -
BasicSocket
# do _ not _ reverse _ lookup -> bool (9310.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) (9310.0) -
アドレスからホスト名への逆引きの設定をソケットごとに設定します。
...アドレスからホスト名への逆引きの設定をソケットごとに設定します。
@param bool この値が真ならアドレスからホスト名への逆引きを行わなくなります。
@see BasicSocket#do_not_reverse_lookup... -
BasicSocket
# connect _ address -> Addrinfo (9010.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
# getpeereid -> [Integer , Integer] (9010.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 (9010.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
# getsockname -> String (9010.0) -
ソケットの情報を取得します。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 = TCPSocket.open(*Socket.unpack_sockaddr_in(serv.getso... -
BasicSocket
# getsockopt(level , optname) -> Socket :: Option (9010.0) -
ソケットのオプションを取得します。getsockopt(2) を参照してください。 取得したオプションのデータを Socket::Option で返します。
...ください。
取得したオプションのデータを Socket::Option で返します。
level, optname には Socket::SOL_SOCKET や Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いるこ......@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: I......NET TCP NODELAY 0>
p opt.bool #=> false (Nagle アルゴリズム有効)
p opt.unpack("i")[0] #=> 0 (Socket::Option#unpack が互換性のために存在する)
# 整数値の場合は Socket::Option#int を用いる
p c.getsockopt(:IP, :TTL).int #=> 64... -
BasicSocket
# local _ address -> Addrinfo (9010.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 (9010.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
# recvmsg(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (9010.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
# remote _ address -> Addrinfo (9010.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... -
BasicSocket
# send(mesg , flags , dest _ sockaddr = nil) -> Integer (9010.0) -
ソケットを介してデータを送ります。flags に関しては send(2) を参照してください。connect していないソケット に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ たデータの長さを返します。
...socket#pack_string
を指定します。
データの送信に失敗した場合は例外 Errno::EXXX が発生します。
@param mesg 送信するデータを文字列で指定します。
@param flags send(2) の flags を参照してください。
@param dest_sockaddr lib:socket......#pack_stringを指定します。
@raise Errno::EXXX データの送信に失敗した場合に発生します。
例:
require 'socket'
s = UDPSocket.new
sockaddr = Socket.sockaddr_in("discard", "localhost")
s.send("The king has donkey ears!", 0, sockaddr)... -
BasicSocket
# sendmsg(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (9010.0) -
sendmsg(2) を用いてメッセージを送ります。
...ンブロッキング方式で通信したい
場合は BasicSocket#sendmsg_nonblock を用います。
ソケットが connection-less の場合は dest_sockaddr で
通信先のアドレスを指定しなければなりません。Socket.sockaddr_in
の返り値や Addrinfo オブジェクトを......ます。
Socket::AncillaryData のインスタンスや
3要素(cmsg_level, cmsg_type, cmsg_data) の配列を用いることができます。
送ったバイト数を返します。
# UnixSocket#send_io の実装例
# use Socket::AncillaryData.
require 'socket'
ancdata = Socket::Ancill......aryData.int(:UNIX, :SOCKET, :RIGHTS, io.fileno)
sock.sendmsg("a", 0, nil, ancdata)
# use 3-element array.
ancdata = [:SOCKET, :RIGHTS, [io.fileno].pack("i!")]
sock.sendmsg("\0", 0, nil, ancdata)
@param mesg メッセージ文字列
@param flags フラグ(Socket::MSG_* という定数の... -
BasicSocket
# setsockopt(level , optname , optval) -> 0 (9010.0) -
ソケットのオプションを設定します。setsockopt(2) を参照してください。
...を設定します。setsockopt(2)
を参照してください。
level, optname には Socket::SOL_SOCKET や Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。
optval...... 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,......etsockopt(Socket::IPPROTO_IP, Socket::IP_TTL, 255)
sock.setsockopt(Socket::Option.int(:INET, :IP, :TTL, 255))
# より複雑な場合
optval = IPAddr.new("224.0.0.251").hton +
IPAddr.new(Socket::INADDR_ANY, Socket::AF_INET).hton
sock.setsockopt(Socket::IPPROTO_IP, Socket::IP_ADD_... -
BasicSocket
# setsockopt(socketoption) -> 0 (9010.0) -
ソケットのオプションを設定します。setsockopt(2) を参照してください。
...を設定します。setsockopt(2)
を参照してください。
level, optname には Socket::SOL_SOCKET や Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。
optval...... 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,......etsockopt(Socket::IPPROTO_IP, Socket::IP_TTL, 255)
sock.setsockopt(Socket::Option.int(:INET, :IP, :TTL, 255))
# より複雑な場合
optval = IPAddr.new("224.0.0.251").hton +
IPAddr.new(Socket::INADDR_ANY, Socket::AF_INET).hton
sock.setsockopt(Socket::IPPROTO_IP, Socket::IP_ADD_... -
BasicSocket
# shutdown(how = Socket :: SHUT _ RDWR) -> 0 (9010.0) -
ソケットの以降の接続を終了させます。
...接続が終了します。
* 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_RDWR などで指定します。
@raise Errno::EXXX ソケットの以降の接続を終了操作が失敗した場合に発生します。
@raise... -
Addrinfo
# connect {|sock| . . . } -> object (310.0) -
自身のアドレスへソケットを接続します。
...す。
ブロックが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済み Socket
オブジェクトが返されます。... -
Addrinfo
# connect _ from(host , port) {|sock| . . . } -> object (310.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 _ to(host , port) {|sock| . . . } -> object (310.0) -
自身のアドレスから指定したホストへソケット接続します。
...クが渡されたときにはそのブロックに接続済み Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、接続済み Socket
オブジェクトが返されます。
@param host ホス... -
Addrinfo
# ip? -> bool (310.0) -
アドレスが IP (v4/v6) のものならば true を返します。
...アドレスが IP (v4/v6) のものならば true を返します。
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).ip? #=> true
Addrinfo.tcp("::1", 80).ip? #=> true
Addrinfo.unix("/tmp/sock").ip? #=> false
@see Addrinfo#ipv4?, Addrinfo#ipv6?, Addrinfo#unix?... -
Addrinfo
# ipv4? -> bool (310.0) -
アドレスが IPv4 のものならば true を返します。
...アドレスが IPv4 のものならば true を返します。
@see Addrinfo#ip?, Addrinfo#ipv6?
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).ipv4? #=> true
Addrinfo.tcp("::1", 80).ipv4? #=> false
Addrinfo.unix("/tmp/sock").ipv4? #=> false... -
Addrinfo
# ipv4 _ multicast? -> bool (310.0) -
IPv4 のマルチキャストアドレス(224.0.0.0/4)であれば真を返します。
IPv4 のマルチキャストアドレス(224.0.0.0/4)であれば真を返します。 -
Addrinfo
# ipv4 _ private? -> bool (310.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? -> bool (310.0) -
アドレスが IPv6 のものならば true を返します。
...アドレスが IPv6 のものならば true を返します。
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).ipv6? #=> false
Addrinfo.tcp("::1", 80).ipv6? #=> true
Addrinfo.unix("/tmp/sock").ipv6? #=> false
@see Addrinfo#ipv4?, Addrinfo#ip?... -
Addrinfo
# ipv6 _ linklocal? -> bool (310.0) -
IPv6 のリンクローカルアドレス(fe80::/10, 4291)であれば真を返します。
IPv6 のリンクローカルアドレス(fe80::/10, 4291)であれば真を返します。 -
Addrinfo
# ipv6 _ mc _ linklocal? -> bool (310.0) -
IPv6 のマルチキャスト(リンクローカルスコープ)アドレスであれば真を返します。
IPv6 のマルチキャスト(リンクローカルスコープ)アドレスであれば真を返します。 -
Addrinfo
# ipv6 _ mc _ nodelocal? -> bool (310.0) -
IPv6 のマルチキャスト(ノードローカルスコープ)アドレスであれば真を返します。
IPv6 のマルチキャスト(ノードローカルスコープ)アドレスであれば真を返します。 -
Addrinfo
# ipv6 _ mc _ orglocal? -> bool (310.0) -
IPv6 のマルチキャスト(組織(organization)ローカルスコープ) アドレスであれば真を返します。
IPv6 のマルチキャスト(組織(organization)ローカルスコープ)
アドレスであれば真を返します。 -
Addrinfo
# ipv6 _ mc _ sitelocal? -> bool (310.0) -
IPv6 のマルチキャスト(サイトローカルスコープ)アドレスであれば真を返します。
IPv6 のマルチキャスト(サイトローカルスコープ)アドレスであれば真を返します。 -
Addrinfo
# ipv6 _ multicast? -> bool (310.0) -
IPv6 のマルチキャストアドレス(ff00::/8)であれば真を返します。
IPv6 のマルチキャストアドレス(ff00::/8)であれば真を返します。 -
Addrinfo
# ipv6 _ sitelocal? -> bool (310.0) -
IPv6 のサイトローカルアドレス(fec0::/10, 3513)であれば真を返します。
IPv6 のサイトローカルアドレス(fec0::/10, 3513)であれば真を返します。 -
Addrinfo
# ipv6 _ unique _ local? -> bool (310.0) -
IPv6 のユニークローカルアドレス(fc00::/7, 4193)であれば真を返します。
IPv6 のユニークローカルアドレス(fc00::/7, 4193)であれば真を返します。 -
Addrinfo
# ipv6 _ unspecified? -> bool (310.0) -
IPv6 の不特定アドレス(unspecified address)(::)であれば真を返します。
IPv6 の不特定アドレス(unspecified address)(::)であれば真を返します。 -
Addrinfo
# ipv6 _ v4compat? -> bool (310.0) -
IPv6 の v4互換アドレス(::/80)であれば真を返します。
IPv6 の v4互換アドレス(::/80)であれば真を返します。 -
Addrinfo
# ipv6 _ v4mapped? -> bool (310.0) -
IPv6 の v4にマップされたアドレス(::ffff:0:0/80)であれば真を返します。
IPv6 の v4にマップされたアドレス(::ffff:0:0/80)であれば真を返します。 -
Addrinfo
# listen(backlog=5) -> Socket (310.0) -
自身のアドレスにバインドされたソケットを作成し、 listen(2) を実行します。
...渡されたときにはそのブロックに生成された Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。
@param backlog バ... -
Addrinfo
# listen(backlog=5) {|sock| . . . } -> object (310.0) -
自身のアドレスにバインドされたソケットを作成し、 listen(2) を実行します。
...渡されたときにはそのブロックに生成された Socket
オブジェクトが渡されます。ブロックの返り値がメソッドの返り値となります。
ブロックを省略した場合は、生成された Socket
オブジェクトが返されます。
@param backlog バ... -
Addrinfo
# unix? -> bool (310.0) -
アドレスが Unix domain socket のものならば true を返します。
...アドレスが Unix domain socket のものならば true を返します。
require 'socket'
Addrinfo.tcp("127.0.0.1", 80).unix? #=> false
Addrinfo.tcp("::1", 80).unix? #=> false
Addrinfo.unix("/tmp/sock").unix? #=> true
@see Addrinfo#ip?... -
Socket
# listen(backlog) -> 0 (310.0) -
listen(2) と同じ働きをします。
listen(2) と同じ働きをします。
0 を返します。
@param backlog 接続を保留できる最大数
@return 0 を返します。 -
Socket
:: AncillaryData # cmsg _ is?(level , type) -> bool (310.0) -
自身の level と type が引数のものと一致している場合に真を返します。
...require 'socket'
ancdata = Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "")
ancdata.cmsg_is?(Socket::IPPROTO_IPV6, Socket::IPV6_PKTINFO) #=> true
ancdata.cmsg_is?(:IPV6, :PKTINFO) #=> true
ancdata.cmsg_is?(:IP, :PKTINFO) #=> false
ancdata.cmsg_is?(:SOCKET, :RIGHTS)......#=> false
@param level 一致を確認する cmsg_level (文字列、シンボル、整数)
@param type 一致を確認する cmsg_type (文字列、シンボル、整数)
@see Socket::AncillaryData#level, Socket::AncillaryData#type... -
Socket
:: Option # linger -> [bool , Integer] (310.0) -
オプションが SOL_SOCKET/SO_LINGER である場合に、 オプションのデータ(内容)を真偽値と整数のペアとして返します。
...が SOL_SOCKET/SO_LINGER である場合に、
オプションのデータ(内容)を真偽値と整数のペアとして返します。
@raise TypeError dataのバイト数が不適切である(sizeof(struct linger)と異なる)場合や、
level/optname が SOL_SOCKET/SO_LINGER......でないに発生します
@see Socket::Option#data... -
TCPServer
# listen(backlog) -> 0 (310.0) -
listen(2) を実行します。 (Socket#listenと同じ)
...listen(2) を実行します。
(Socket#listenと同じ)
backlog は、クライアントからの接続要求を保留できる数です。
listen(2) が成功すれば 0 を返します。
失敗すれば 例外 Errno::EXXX が発生します。
@param backlog backlog は、クライアント... -
UNIXServer
# listen(backlog) -> 0 (310.0) -
listen(2) を実行します。 (Socket#listenと同じ)
...listen(2) を実行します。
(Socket#listenと同じ)
backlog は、クライアントからの接続要求を保留できる数です。
listen(2) が成功すれば 0 を返します。
失敗すれば 例外 Errno::EXXX が発生します。
@param backlog バックログの最大数(接... -
UNIXSocket
# recv _ io(klass=IO , mode=nil) -> Integer|IO|object (310.0) -
ソケットの接続先からファイルディスクリプタを受け取ります。
...ます。
klass が nil でない場合、
klass.for_fd(fd[, mode]) が呼ばれ、その値が返されます。
例:
require 'socket'
s1, s2 = UNIXSocket.pair
s1.send_io STDOUT
io = s2.recv_io
p File.identical?(io, STDOUT) #=> true
@param klass 受け取ったファイルディ...