264件ヒット
[1-100件を表示]
(0.087秒)
クラス
- Addrinfo (99)
- BasicSocket (33)
-
Socket
:: AncillaryData (22) - UNIXServer (44)
- UNIXSocket (66)
キーワード
- accept (11)
-
accept
_ nonblock (11) - addr (11)
-
family
_ addrinfo (22) - getpeereid (11)
-
inspect
_ sockaddr (11) - int (11)
- ip? (11)
- ipv4? (11)
- ipv6? (11)
-
ipv6
_ to _ ipv4 (11) - listen (11)
- path (11)
- peeraddr (11)
-
recv
_ io (11) - recvfrom (11)
- recvmsg (11)
-
send
_ io (11) - sendmsg (11)
- sysaccept (11)
- unix? (11)
-
unix
_ path (11) -
unix
_ rights (11)
検索結果
先頭5件
-
Socket
:: AncillaryData # unix _ rights -> [IO] | nil (18469.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 = s2.recvmsg(:scm_rights=>t... -
Addrinfo
# unix? -> bool (18385.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?... -
Addrinfo
# unix _ path -> String (18373.0) -
Unix domain socket の path を文字列で返します。
...Unix domain socket の path を文字列で返します。
require 'socket'
Addrinfo.unix("/tmp/sock").unix_path #=> "/tmp/sock"
@raise SocketError アドレスが Unix domain socket のものでない場合に発生します... -
UNIXSocket
# recv _ io(klass=IO , mode=nil) -> Integer|IO|object (12303.0) -
ソケットの接続先からファイルディスクリプタを受け取ります。
...nil の場合、ファイルディスクリプタが Integer として
返されます。
klass が nil でない場合、
klass.for_fd(fd[, mode]) が呼ばれ、その値が返されます。
例:
require 'socket'
s1, s2 = UNIXSocket.pair
s1.send_io STDOUT
io = s2.recv_io
p File.ide......ntical?(io, STDOUT) #=> true
@param klass 受け取ったファイルディスクリプタを変換するためのクラス
@param mode for_fd に渡すファイルモード... -
UNIXSocket
# send _ io(io) -> nil (12203.0) -
引数 io に対応するファイルディスクリプタをソケットの接続先に送ります。
...引数 io に対応するファイルディスクリプタをソケットの接続先に送ります。
require 'socket'
s1, s2 = UNIXSocket.pair
s1.send_io STDOUT
stdout = s2.recv_io
p STDOUT.fileno #=> 1
p stdout.fileno #=> 6
stdout.puts "hello" # outputs "hello\n" to stan......dard output.
@param io 送るファイルディスクリプタ(整数 or IOオブジェクト)... -
UNIXServer
# listen(backlog) -> 0 (12103.0) -
listen(2) を実行します。 (Socket#listenと同じ)
...listen(2) を実行します。
(Socket#listenと同じ)
backlog は、クライアントからの接続要求を保留できる数です。
listen(2) が成功すれば 0 を返します。
失敗すれば 例外 Errno::EXXX が発生します。
@param backlog バックログの最大数(接... -
UNIXServer
# accept -> UnixSocket (9303.0) -
クライアントからの接続要求を accept(2)で待ち受け、接続した UNIXSocket のインスタンスを返します。
...た
UNIXSocket のインスタンスを返します。
例:
require 'socket'
UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
s = serv.accept
s.write "from server"
c.write "from client"
p c.recv(20) #=> "from server"
p s.recv(20) #=> "from client"... -
UNIXServer
# accept _ nonblock -> UnixSocket (9303.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
...
UNIXSocket のインスタンスを返します。
accept(2) がエラーになった場合、Socket#accept と同じ例外が
発生します。
Errno::EWOULDBLOCK, Errno::EAGAIN,
Errno::ECONNABORTED, Errno::EPROTO のいずれかの例外が
発生した場合は、その例外には IO::WaitR......を掴まえることができます。
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... -
UNIXSocket
# recvfrom(maxlen , flags = 0) -> [String [String , String]] (9303.0) -
recvfrom(2) を用いてソケットからメッセージを受け取ります。
...数で指定します。
flags には Socket::MSG_* という名前の定数の bitwise OR を渡します。
戻り値は文字列と相手ソケットのパスのペアです。
例:
require 'socket'
UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
s = serv.accept... -
UNIXSocket
# addr -> [String , String] (9271.0) -
ソケットの接続情報を表す配列を返します。配列の各要素は第1要 素が文字列 "AF_UNIX"、第2要素がパスを表す文字列です。
..._UNIX"、第2要素がパスを表す文字列です。
クライアント側はパスを持たないため空文字列となります。
例:
require 'socket'
UNIXServer.open("/tmp/s") {|serv|
p serv.addr #=> ["AF_UNIX", "/tmp/s"]
}
UNIXServer.open("/tmp/s") {|serv|
c = UNIX......Socket.open("/tmp/s")
p c.peeraddr #=> ["AF_UNIX", "/tmp/s"]
p c.addr #=> ["AF_UNIX", ""]
}
@see UNIXSocket#peeraddr...