ライブラリ
- socket (252)
クラス
- BasicSocket (36)
-
Socket
:: AncillaryData (144) -
Socket
:: Option (72)
キーワード
- bool (12)
-
cmsg
_ is? (12) - family (12)
- int (24)
-
ip
_ pktinfo (12) -
ipv6
_ pktinfo (12) -
ipv6
_ pktinfo _ addr (12) -
ipv6
_ pktinfo _ ifindex (12) - level (12)
- linger (12)
- recvmsg (12)
-
recvmsg
_ nonblock (12) - sendmsg (12)
-
to
_ s (12) - type (12)
-
unix
_ rights (12) - unpack (12)
検索結果
先頭5件
-
Socket
:: AncillaryData # data -> String (32136.0) -
自身が保持している cmsg data (データ) を返します。
...自身が保持している cmsg data (データ) を返します。
require 'socket'
p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").type
#=> ""
@see Socket::AncillaryData.new... -
Socket
:: Option # data -> String (29120.0) -
オプションのデータ(内容)を文字列で返します。
...のデータ(内容)を文字列で返します。
内容が整数や真偽値、もしくは struct linger であることがわかっている場合には、
Socket::Option#int, Socket::Option#bool, Socket::Option#linger
を用いて
to_s は過去との互換性のために存在します。... -
Socket
:: AncillaryData # unix _ rights -> [IO] | nil (14101.0) -
Unix domain socket の SCM_RIGHTS 制御メッセージに含まれる ファイルディスクリプタを IO オブジェクトの配列として返します。
...Unix domain socket の SCM_RIGHTS 制御メッセージに含まれる
ファイルディスクリプタを IO オブジェクトの配列として返します。
得られる IO オブジェクトか IO か Socket です。
この配列は Socket::AncillaryData が初期化されたときに
作......られます。例えば BasicSocket#recvmsg を :scm_rights => true
オプションを付けて呼びだし、
SCM_RIGHTS な 制御メッセージを受け取ったときに配列が作られます。
適切なオプションを指定しなかった場合は配列は生成されず、
このメ......は nil を返します。
require 'socket'
# recvmsg needs :scm_rights=>true for unix_rights
s1, s2 = UNIXSocket.pair
p s1 #=> #<UNIXSocket:fd 3>
s1.sendmsg "stdin and a socket", 0, nil, Socket::AncillaryData.unix_rights(STDIN, s1)
_, _, _, ctl... -
Socket
:: AncillaryData # timestamp -> Time (14079.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
:: AncillaryData # int -> Integer (14053.0) -
自身が保持している cmsg data (データ) を整数の形で返します。
...ている cmsg data (データ) を整数の形で返します。
整数データのサイズおよびエンディアンは実行するホストによって異なります。
require 'socket'
ancdata = Socket::AncillaryData.int(:UNIX, :SOCKET, :RIGHTS, STDERR.fileno)
p ancdata.int #=> 2
@r......aise TypeError cmgs data のサイズが int のバイト数と異なる場合に発生します
@see Socket::AncillaryData.new Socket::AncillaryData.int... -
Socket
:: AncillaryData # cmsg _ is?(level , type) -> bool (14043.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
:: AncillaryData # ipv6 _ pktinfo -> [Addrinfo , Integer] (14037.0) -
自身の type が IPV6_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス) を2要素の配列で返します。
...require 'socket'
addr = Addrinfo.ip("::1")
ifindex = 0
ancdata = Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
p ancdata.ipv6_pktinfo #=> [#<Addrinfo: ::1>, 0]
@see Socket::AncillaryData.ipv6_pktinfo,
Socket::AncillaryData#ipv6_pktinfo_addr,
Socket::AncillaryData#ipv6_pkti......nfo_ifindex,
Socket::Constants::IPV6_PKTINFO... -
Socket
:: AncillaryData # ipv6 _ pktinfo _ addr -> Addrinfo (14037.0) -
自身の type が IPV6_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス) のアドレスを返します。
...require 'socket'
addr = Addrinfo.ip("::1")
ifindex = 0
ancdata = Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
p ancdata.ipv6_pktinfo_addr #=> #<Addrinfo: ::1>
@see Socket::AncillaryData.ipv6_pktinfo,
Socket::AncillaryData#ipv6_pktinfo,
Socket::AncillaryData#ipv6_pktinf... -
Socket
:: AncillaryData # ipv6 _ pktinfo _ ifindex -> Integer (14037.0) -
自身の type が IPV6_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス) のインデックスを返します。
...e 'socket'
addr = Addrinfo.ip("::1")
ifindex = 0
ancdata = Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
p ancdata.ipv6_pktinfo_ifindex #=> 0
@see Socket::AncillaryData.ipv6_pktinfo,
Socket::AncillaryData#ipv6_pktinfo,
Socket::AncillaryData#ipv6_pktinfo_addr,
Socket::C...