るりまサーチ

最速Rubyリファレンスマニュアル検索!
24件ヒット [1-24件を表示] (0.035秒)
トップページ > クエリ:@[x] > クエリ:unix[x] > クラス:BasicSocket[x]

別のキーワード

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

ライブラリ

キーワード

検索結果

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

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

...メッセージを受け取ります。

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

maxmesglen, maxcontrollen で受け取るメッセージおよび補助データ
(Socket::AncillaryData)...
...セージを受け取ったときに、メッセージに含まれる
IO オブジェクトを生成します。詳しくは Socket::AncillaryData#unix_rights
を参照してください。

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

返り値の配列の最初の要素は受け取ったメッセー...
...require 'socket'

# UnixSocket#recv_io を recvmsg で実装する例
mesg, sender_sockaddr, rflags, *controls = sock.recvmsg(:scm_rights=>true)
controls.each {|ancdata|
if ancdata.cmsg_is?(:SOCKET, :RIGHTS)
return ancdata.unix_rights[0]
end
}

@
param maxmesglen 受け取...

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

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

...いてメッセージを送ります。

このメソッドはブロックします。ノンブロッキング方式で通信したい
場合は BasicSocket#sendmsg_nonblock を用います。

ソケットが connection-less の場合は dest_sockaddr で
通信先のアドレスを指定しなけ...
...列を用いることができます。

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

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

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

# use 3-element...
...o].pack("i!")]
sock.sendmsg("\0", 0, nil, ancdata)


@
param mesg メッセージ文字列
@
param flags フラグ(Socket::MSG_* という定数の bitwise OR を取ったもの)
@
param dest_sockaddr 通信先のアドレス
@
param controls 補助データの配列
@
see BasicSocket#sendmsg_nonblock...