るりまサーチ

最速Rubyリファレンスマニュアル検索!
144件ヒット [1-100件を表示] (0.126秒)
トップページ > 種類:インスタンスメソッド[x] > クエリ:@[x] > クラス:Socket::AncillaryData[x]

ライブラリ

キーワード

検索結果

<< 1 2 > >>

Socket::AncillaryData#cmsg_is?(level, type) -> bool (20.0)

自身の level と type が引数のものと一致している場合に真を返します。

...ncdata = 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 l...
...evel 一致を確認する cmsg_level (文字列、シンボル、整数)
@
param type 一致を確認する cmsg_type (文字列、シンボル、整数)
@
see Socket::AncillaryData#level, Socket::AncillaryData#type...

Socket::AncillaryData#int -> Integer (14.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#ip_pktinfo -> [Addrinfo, Integer, Addrinfo] (14.0)

自身の type が IP_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス、ローカルアドレス) を3要素の配列で返します。

....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, IP_PKTINFO でない場合に
発生します。
@
see Socket::AncillaryData.ip_pktinfo,...

Socket::AncillaryData#unix_rights -> [IO] | nil (14.0)

Unix domain socket の SCM_RIGHTS 制御メッセージに含まれる ファイルディスクリプタを IO オブジェクトの配列として返します。

...を IO オブジェクトの配列として返します。

得られる IO オブジェクトか IO か Socket です。

この配列は Socket::AncillaryData が初期化されたときに
作られます。例えば BasicSocket#recvmsg を :scm_rights => true
オプションを付けて呼び...
...#=> #<UNIXSocket:fd 3>
s1.sendmsg "stdin and a socket", 0, nil, Socket::AncillaryData.unix_rights(STDIN, s1)
_, _, _, ctl = s2.recvmsg(:scm_rights=>true)
p ctl
#=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 6 7>
p ctl.unix_rights #=> [#<IO:fd...
..., 0, nil, Socket::AncillaryData.unix_rights(STDIN, s1)
_, _, _, ctl = s2.recvmsg
p ctl #=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 6 7>
p ctl.unix_rights #=> nil


@
raise TypeError family/level/type が AF_UNIX/SOL_SOCKET/SCM_RIGHTS でない場合
に発生します。
@
see Socke...

Socket::AncillaryData#data -> String (8.0)

自身が保持している cmsg data (データ) を返します。

...自身が保持している cmsg data (データ) を返します。

require 'socket'

p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").type
#=> ""

@
see Socket::AncillaryData.new...

絞り込み条件を変える

Socket::AncillaryData#family -> Integer (8.0)

自身が保持している socket family を返します。

...自身が保持している socket family を返します。

require 'socket'

p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").family
#=> 10

@
see Socket::AncillaryData.new...

Socket::AncillaryData#ipv6_pktinfo -> [Addrinfo, Integer] (8.0)

自身の type が IPV6_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス) を2要素の配列で返します。

...rinfo.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_pktinfo_ifindex,
Socket::Const...

Socket::AncillaryData#ipv6_pktinfo_addr -> Addrinfo (8.0)

自身の type が IPV6_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス) のアドレスを返します。

...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_pktinfo_ifindex,
Socket::Constan...

Socket::AncillaryData#ipv6_pktinfo_ifindex -> Integer (8.0)

自身の type が IPV6_PKTINFO である場合、保持しているデータ (アドレス、インターフェースのインデックス) のインデックスを返します。

...ddr = 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::Constants::IPV6_...
<< 1 2 > >>