55件ヒット
[1-55件を表示]
(0.069秒)
種類
- 定数 (22)
- インスタンスメソッド (22)
- 特異メソッド (11)
ライブラリ
- socket (55)
クラス
- BasicSocket (11)
- Socket (11)
-
Socket
:: AncillaryData (22)
モジュール
-
Socket
:: Constants (11)
キーワード
-
SCM
_ RIGHTS (22) - recvmsg (11)
検索結果
先頭5件
- Socket
:: AncillaryData # unix _ rights -> [IO] | nil - Socket
:: AncillaryData . unix _ rights(*ios) -> Socket :: AncillaryData - BasicSocket
# recvmsg(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] - Socket
:: Constants :: SCM _ RIGHTS -> Integer - Socket
:: SCM _ RIGHTS -> Integer
-
Socket
:: AncillaryData # unix _ rights -> [IO] | nil (18249.0) -
Unix domain socket の SCM_RIGHTS 制御メッセージに含まれる ファイルディスクリプタを IO オブジェクトの配列として返します。
...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 = s2.recvmsg(:scm_rights=>true......UNIX SOCKET RIGHTS 6 7>
p ctl.unix_rights #=> [#<IO:fd 6>, #<Socket:fd 7>]
p File.identical?(STDIN, ctl.unix_rights[0]) #=> true
p File.identical?(s1, ctl.unix_rights[1]) #=> true
# If :scm_rights=>true is not given, unix_rights returns nil
s1, s2 = UNIXSoc......ket.pair
s1.sendmsg "stdin and a socket", 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 でない場... -
Socket
:: AncillaryData . unix _ rights(*ios) -> Socket :: AncillaryData (18213.0) -
ios で指定したファイルのファイルデスクリプタを データとして持つ family=AF_UNIX, level=SOL_SOCKET, type=SCM_RIGHTS という Socket::AncillaryData オブジェクトを生成して返します。
...cillaryData オブジェクトを生成して返します。
require 'socket'
p Socket::AncillaryData.unix_rights(STDERR)
#=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 2>
@param ios IO オブジェクトの配列
@see Socket::AncillaryData#unix_rights,
Socket::Constants::SCM_RIGHTS... -
BasicSocket
# recvmsg(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (124.0) -
recvmsg(2) を用いてメッセージを受け取ります。
...す。詳しくは Socket::AncillaryData#unix_rights
を参照してください。
返り値は配列で得られます。
返り値の配列の最初の要素は受け取ったメッセージを表す文字列です。
2番目の要素は connection-less socket の場合には送り元の
ア......ドレスが Addrinfo オブジェクトとして含まれています。
TCP のような connection-oriented socket の場合は
何が含まれているかはプラットフォーム依存です。
3番目の要素は受け取ったメッセージに付加されているフラグで、
Socket::M......r, rflags, *controls = sock.recvmsg(:scm_rights=>true)
controls.each {|ancdata|
if ancdata.cmsg_is?(:SOCKET, :RIGHTS)
return ancdata.unix_rights[0]
end
}
@param maxmesglen 受け取るメッセージの最大長
@param flags フラグ
@param maxcontrollen 受け取る補助デー... -
Socket
:: Constants :: SCM _ RIGHTS -> Integer (106.0) -
Access rights.
...Access rights.
Socket::AncillaryData の type として利用します。
@see Socket::AncillaryData, Socket::AncillaryData#unix_rights
BasicSocket#sendmsg, BasicSocket#recvmsg,
unix(7linux), unix(4freebsd),
sys/socket.h(header)... -
Socket
:: SCM _ RIGHTS -> Integer (106.0) -
Access rights.
...Access rights.
Socket::AncillaryData の type として利用します。
@see Socket::AncillaryData, Socket::AncillaryData#unix_rights
BasicSocket#sendmsg, BasicSocket#recvmsg,
unix(7linux), unix(4freebsd),
sys/socket.h(header)...