るりまサーチ

最速Rubyリファレンスマニュアル検索!
88件ヒット [1-88件を表示] (0.040秒)
トップページ > クエリ:IO[x] > クエリ:sock[x] > クエリ:UNIXSocket[x]

別のキーワード

  1. io popen
  2. io pipe
  3. io each
  4. io each_line
  5. io readlines

ライブラリ

クラス

キーワード

検索結果

UNIXSocket (44006.0)

UNIX ドメインのストリーム型ソケットのクラス。

...UNIX ドメインのストリーム型ソケットのクラス。

通常の IO クラスのサブクラスと同様の入出力ができます。...

UNIXSocket#recv_io(klass=IO, mode=nil) -> Integer|IO|object (30333.0)

ソケットの接続先からファイルディスクリプタを受け取ります。

...い場合、
klass.for_fd(fd[, mode]) が呼ばれ、その値が返されます。

例:

require 'socket'

s1, s2 = UNIXSocket.pair
s1.send_io STDOUT
io
= s2.recv_io
p File.identical?(io, STDOUT) #=> true

@param klass 受け取ったファイルディスクリプタを変換する...

UNIXSocket#send_io(io) -> nil (30248.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オブジェクト)...

Socket::AncillaryData#unix_rights -> [IO] | nil (3153.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)
_, _...

BasicSocket#sendmsg(mesg, flags=0, dest_sockaddr=nil, *controls) -> Integer (3136.0)

sendmsg(2) を用いてメッセージを送ります。

...ブロッキング方式で通信したい
場合は BasicSocket#sendmsg_nonblock を用います。

ソケットが connection-less の場合は dest_sockaddr で
通信先のアドレスを指定しなければなりません。Socket.sockaddr_in
の返り値や Addrinfo オブジェクトを引...
...ます。
Sock
et::AncillaryData のインスタンスや
3要素(cmsg_level, cmsg_type, cmsg_data) の配列を用いることができます。

送ったバイト数を返します。

# UnixSocket#send_io の実装例
# use Socket::AncillaryData.
require 'socket'

ancdata = Socket::Ancill...
...aryData.int(:UNIX, :SOCKET, :RIGHTS, io.fileno)
sock
.sendmsg("a", 0, nil, ancdata)

# use 3-element array.
ancdata = [:SOCKET, :RIGHTS, [io.fileno].pack("i!")]
sock
.sendmsg("\0", 0, nil, ancdata)


@param mesg メッセージ文字列
@param flags フラグ(Socket::MSG_* という定数の...

絞り込み条件を変える

BasicSocket#recvmsg(maxmesglen=nil, flags=0, maxcontrollen=nil, opts={}) -> [String, Addrinfo, Integer, *Socket::AncillaryData] (3124.0)

recvmsg(2) を用いてメッセージを受け取ります。

...ロックします。ノンブロッキング方式で通信したい
場合は BasicSocket#recvmsg_nonblock を用います。

maxmesglen, maxcontrollen で受け取るメッセージおよび補助データ
(Socket::AncillaryData)の最大長をバイト単位で指定します。
省略した場...
...
IO
オブジェクトを生成します。詳しくは Socket::AncillaryData#unix_rights
を参照してください。

返り値は配列で得られます。

返り値の配列の最初の要素は受け取ったメッセージを表す文字列です。

2番目の要素は connection-less...
...グで、
Sock
et::MSG_* 定数の bitwise OR で表現されています。

残りの要素は補助データ(Socket::AncillaryData オブジェクト)です。

require 'socket'

# UnixSocket#recv_io を recvmsg で実装する例
mesg, sender_sockaddr, rflags, *controls = sock.recvmsg(:sc...

UNIXServer#accept_nonblock -> UnixSocket (243.0)

ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。

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

accept(2) がエラーになった場合、Socket#accept と同じ例外が
発生します。

Errno::EWOULDBLOCK, Errno::EAGAIN,
Errno::ECONNABORTED, Errno::EPROTO のいずれかの例外が
発生した場合は、その例外には IO::Wa...
...を掴まえることができます。

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

ruby 1.6 feature (96.0)

ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。

...ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。

((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。

== 1.6.8 (2002-12-24) ->...
...gwin)

Cygwin で、Thread の切替えが行われないことがありました。
((<ruby-list:36058>)), ((<ruby-list:24637>))

: 2002-10-01: Socket (win)

Windows でのソケットの問題が1つ解決されたようです。(どのような問題かは
大本のメールがわかり...
...: UNIXSocket#addr

UNIXSocket
#addr がゴミを返していました(BSD の場合?)。
((<ruby-bugs-ja:PR#85>))

# server
require 'socket'
File.unlink("/tmp/sss")
sock
= UNIXServer.new("/tmp/sss").accept

# client
require 'socket'
sock
...