るりまサーチ

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

別のキーワード

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

ライブラリ

キーワード

検索結果

BasicSocket#setsockopt(socketoption) -> 0 (9343.0)

ソケットのオプションを設定します。setsockopt(2) を参照してください。

...ソケットのオプションを設定します。setsockopt(2)
を参照してください。

level, optname には Socket::SOL_SOCKET や Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いる...
...には setsockopt(2) にはその文字列と
長さが渡されます。整数の場合はintへのポインタが渡されます。
true/falseの場合は0/1という整数と解釈され、そのメモリ領域の
intポインタを渡します。

引数が1つの場合は Socket::Option で設...
...い。
@param optname setsockopt(2) の option_name を参照してください。
@param optval 設定値
@param socketoption 設定値を表す Socket::Option オブジェクト

@raise Errno::EXXX オプションの設定に失敗した場合発生します。
@see BasicSocket#getsockopt...

BasicSocket#getsockopt(level, optname) -> Socket::Option (9301.0)

ソケットのオプションを取得します。getsockopt(2) を参照してください。 取得したオプションのデータを Socket::Option で返します。

...得します。getsockopt(2)
を参照してください。
取得したオプションのデータを Socket::Option で返します。

level, optname には Socket::SOL_SOCKET や Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル...
...etsockopt(2) の 第二引数のlevel
@param optname getsockopt(2) の 第三引数のoption_name
@see BasicSocket#setsockopt

例:

require 'socket'

serv = Socket.tcp_server_sockets("", 0)[0]
c = serv.local_address.connect
s = serv.accept
opt = c.getsockopt(Socket::IPPROTO_TCP, Socket...
...)
# c.getsockopt("TCP", "NODELAY"), なども可能
p opt #=> #<Socket::Option: INET TCP NODELAY 0>
p opt.bool #=> false (Nagle アルゴリズム有効)
p opt.unpack("i")[0] #=> 0 (Socket::Option#unpack が互換性のために存在する)
# 整数値の場合は Socket::Option#int を...

BasicSocket#sendmsg(mesg, flags=0, dest_sockaddr=nil, *controls) -> Integer (3131.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] (3119.0)

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

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

maxmesglen, maxcontrollen で受け取るメッセージおよび補助データ
(Socket::AncillaryData)の最大長をバイト単位で指定します。
省略した...
...場合は必要なだけ内部バッファを拡大して
データが切れないようにします。

flags では Socket::MSG_* という名前の定数の biwsise OR を取った
ものを渡します。

opts にはその他のオプションを渡します。今のところ :scm_right => bool...
...
IO
オブジェクトを生成します。詳しくは Socket::AncillaryData#unix_rights
を参照してください。

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

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

2番目の要素は connection-less...