るりまサーチ

最速Rubyリファレンスマニュアル検索!
36件ヒット [1-36件を表示] (0.012秒)
トップページ > クエリ: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#getpeereid -> [Integer, Integer] (29.0)

Unix ドメインソケットにおいて接続相手の euid と egid を 返します。

...Unix ドメインソケットにおいて接続相手の euid と egid を
返します。

配列の最初の要素が euid, 2番目の要素が egid です。

ソケットが Unix ドメインソケットでない場合の返り値は
不定です。

require 'socket'

Socket.unix_server_loop...

BasicSocket#recvmsg(maxmesglen=nil, flags=0, maxcontrollen=nil, opts={}) -> [String, Addrinfo, Integer, *Socket::AncillaryData] (13.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 (7.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...