種類
- インスタンスメソッド (132)
- 特異メソッド (55)
ライブラリ
- socket (187)
キーワード
-
cmsg
_ is? (11) - data (11)
- family (11)
- int (22)
-
ip
_ pktinfo (22) -
ipv6
_ pktinfo (22) -
ipv6
_ pktinfo _ addr (11) -
ipv6
_ pktinfo _ ifindex (11) - level (11)
- new (11)
- type (11)
-
unix
_ rights (22)
検索結果
先頭5件
-
Socket
:: AncillaryData # family -> Integer (15201.0) -
自身が保持している socket family を返します。
...自身が保持している socket family を返します。
require 'socket'
p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").family
#=> 10
@see Socket::AncillaryData.new... -
Socket
:: AncillaryData . int(family , cmsg _ level , cmsg _ type , integer) -> Socket :: AncillaryData (9301.0) -
データとして整数を保持する Socket::AncillaryData オブジェクトを生成します。
...
Socket::AncillaryData オブジェクトを生成します。
整数データのサイズおよびエンディアンは実行するホストによって異なります。
require 'socket'
p Socket::AncillaryData.int(:UNIX, :SOCKET, :RIGHTS, STDERR.fileno)
#=> #<Socket::AncillaryData: UNIX......SOCKET RIGHTS 2>
@param family ソケットファミリー
@param cmsg_level プロトコル
@param cmsg_type 補助データの種類
@param integer データ内容
@see Socket::AncillaryData.new... -
Socket
:: AncillaryData # cmsg _ is?(level , type) -> bool (9201.0) -
自身の level と type が引数のものと一致している場合に真を返します。
...身の 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) #=> tr......_is?(:IP, :PKTINFO) #=> false
ancdata.cmsg_is?(:SOCKET, :RIGHTS) #=> false
@param level 一致を確認する cmsg_level (文字列、シンボル、整数)
@param type 一致を確認する cmsg_type (文字列、シンボル、整数)
@see Socket::AncillaryData#level, Socket::Ancil......laryData#type... -
Socket
:: AncillaryData # int -> Integer (9201.0) -
自身が保持している cmsg data (データ) を整数の形で返します。
...異なります。
require 'socket'
ancdata = Socket::AncillaryData.int(:UNIX, :SOCKET, :RIGHTS, STDERR.fileno)
p ancdata.int #=> 2
@raise TypeError cmgs data のサイズが int のバイト数と異なる場合に発生します
@see Socket::AncillaryData.new Socket::AncillaryData.int... -
Socket
:: AncillaryData # timestamp -> Time (9201.0) -
タイムスタンプ制御メッセージに含まれる時刻を Time オブジェクト で返します。
...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_BI......IME (2**(-64) second) FreeBSD
require 'socket'
Addrinfo.udp("127.0.0.1", 0).bind {|s1|
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 #=> 2009-02-24 17:35:46 +0900
p t.usec #=> 775581
p t.nsec #=> 775581000
}
}
@see Socket::Constants::SCM_TIMESTAMP,
Socket::Constants::SCM_TIMESTAMPNS,
Socket::Constants::SCM_BINTI... -
Socket
:: AncillaryData # type -> Integer (9201.0) -
自身が保持している cmsg type (種類) を返します。
...自身が保持している cmsg type (種類) を返します。
require 'socket'
p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").type
#=> 2
@see Socket::AncillaryData.new... -
Socket
:: AncillaryData . ip _ pktinfo(addr , ifindex , spec _ dst=addr) -> Socket :: AncillaryData (9201.0) -
type が IP_PKTINFO である AncillaryData を生成します。
...type が IP_PKTINFO である AncillaryData を生成します。
IP_PKTINFO は非標準的拡張であり、システムによっては使えない場合があります。
require 'socket'
addr = Addrinfo.ip("127.0.0.1")
ifindex = 0
spec_dst = Addrinfo.ip("127.0.0.1")
p Socket::Ancil......laryData.ip_pktinfo(addr, ifindex, spec_dst)
#=> #<Socket::AncillaryData: INET IP PKTINFO 127.0.0.1 ifindex:0 spec_dst:127.0.0.1>
@param addr アドレス(文字列もしくは Addrinfo)
@param ifindex インターフェースのインデックス(整数)
@param spec_dst パケットのローカ......ルアドレス(文字列もしくは Addrinfo)
@see Socket::AncillaryData#ip_pktinfo,
Socket::Constants::IP_PKTINFO... -
Socket
:: AncillaryData . ipv6 _ pktinfo(addr , ifindex) -> Socket :: AncillaryData (9201.0) -
type が IPV6_PKTINFO である AncillaryData を生成します。
...type が IPV6_PKTINFO である AncillaryData を生成します。
IPV6_PKTINFO は 3542 で定義されています。
require 'socket'
addr = Addrinfo.ip("::1")
ifindex = 0
p Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
#=> #<Socket::AncillaryData: INET6 IPV6 PKTINFO ::1 ifinde......x:0>
@param addr アドレス(文字列もしくは Addrinfo)
@param ifindex インターフェースのインデックス(整数)
@see Socket::AncillaryData#ipv6_pktinfo,
Socket::Constants::IPV6_PKTINFO... -
Socket
:: AncillaryData . unix _ rights(*ios) -> Socket :: AncillaryData (9201.0) -
ios で指定したファイルのファイルデスクリプタを データとして持つ family=AF_UNIX, level=SOL_SOCKET, type=SCM_RIGHTS という Socket::AncillaryData オブジェクトを生成して返します。
...ios で指定したファイルのファイルデスクリプタを
データとして持つ family=AF_UNIX, level=SOL_SOCKET, type=SCM_RIGHTS
という Socket::AncillaryData オブジェクトを生成して返します。
require 'socket'
p Socket::AncillaryData.unix_rights(STDERR)
#=> #<S......ocket::AncillaryData: UNIX SOCKET RIGHTS 2>
@param ios IO オブジェクトの配列
@see Socket::AncillaryData#unix_rights,
Socket::Constants::SCM_RIGHTS... -
Socket
:: AncillaryData # ip _ pktinfo -> [Addrinfo , Integer , Addrinfo] (9101.0) -
自身の type が IP_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス、ローカルアドレス) を3要素の配列で返します。
...自身の type が IP_PKTINFO である場合、保持しているデータ
(アドレス、インターフェースのインデックス、ローカルアドレス)
を3要素の配列で返します。
IP_PKTINFO は非標準的拡張であり、システムによっては使えない場合があ......ire 'socket'
addr = Addrinfo.ip("127.0.0.1")
ifindex = 0
spec_dest = Addrinfo.ip("127.0.0.1")
ancdata = Socket::AncillaryData.ip_pktinfo(addr, ifindex, spec_dest)
p ancdata.ip_pktinfo
#=> [#<Addrinfo: 127.0.0.1>, 0, #<Addrinfo: 127.0.0.1>]
@raise TypeError level, type が IPPROTO_IP, I......P_PKTINFO でない場合に
発生します。
@see Socket::AncillaryData.ip_pktinfo,
Socket::Constants::IP_PKTINFO...