るりまサーチ

最速Rubyリファレンスマニュアル検索!
156件ヒット [101-156件を表示] (0.069秒)

別のキーワード

  1. unixsocket new
  2. unixsocket open
  3. socket unixsocket
  4. unixsocket path
  5. unixsocket pair

ライブラリ

クラス

キーワード

検索結果

<< < 1 2 >>

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

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

...hts
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)
p ctl
#=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 6 7>...
...ights=>true is not given, unix_rights returns nil
s1, s2 = UNIXSocket.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 TypeErr...

BasicSocket#recv(maxlen, flags = 0) -> String (7.0)

ソケットからデータを受け取り、文字列として返します。 maxlen は受け取る最大の長さを指定します。 flags については recv(2) を参照してください。flags の デフォルト値は 0 です。flags の指定に必要な定数は Socket クラスで定義されています。(例: Socket::MSG_PEEK)

...@raise IOError

@raise Errno::EXXX recvfrom(2) がエラーになった場合などに発生します。

例:

require 'socket'

s1, s2 = UNIXSocket.pair
s1.write "a"
s1.close
p s2.recv(10, Socket::MSG_PEEK) #=> "a"
p s2.recv(10) #=> "a"
p s2.recv(10)...

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

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

...R で表現されています。

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

require 'socket'

# UnixSocket#recv_io を recvmsg で実装する例
mesg, sender_sockaddr, rflags, *controls = sock.recvmsg(:scm_rights=>true)
controls.each {|ancdata|...

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

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

...ンスや
3要素(cmsg_level, cmsg_type, cmsg_data) の配列を用いることができます。

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

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

ancdata = Socket::AncillaryData.int(:UNIX, :SOCKET, :RIGHTS, io.fileno)...

UNIXServer#sysaccept -> Integer (7.0)

接続したクライアントのソケットをファイル記述子で返すことを除けば UNIXServer#accept と同じです。

...接続したクライアントのソケットをファイル記述子で返すことを除けば
UNIXServer#accept と同じです。

例:

require 'socket'

UNIXServer.open("/tmp/s") {|serv|
c = UNIXSocket.open("/tmp/s")
p serv.sysaccept #=> 6
}...

絞り込み条件を変える

<< < 1 2 >>