るりまサーチ

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

別のキーワード

  1. socket unix
  2. socket unix_server_socket
  3. socket af_unix
  4. socket pf_unix
  5. zlib os_unix

クラス

キーワード

検索結果

<< 1 2 3 > >>

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
i
o = 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 のインスタンスを返します。

...
UNIX
Socket のインスタンスを返します。

例:

require 'socket'

UNIX
Server.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) を呼び出します。

...
UNIX
Socket のインスタンスを返します。

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
I
O.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'

UNIX
Server.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'

UNIX
Server.open("/tmp/s") {|serv|
p serv.addr #=> ["AF_UNIX", "/tmp/s"]
}

UNIX
Server.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...

絞り込み条件を変える

<< 1 2 3 > >>