別のキーワード
種類
- インスタンスメソッド (66)
- 特異メソッド (44)
- 文書 (11)
ライブラリ
- socket (110)
クラス
- BasicSocket (33)
-
Socket
:: AncillaryData (22) -
Socket
:: Option (55)
キーワード
- bool (11)
- getsockopt (11)
- int (11)
- linger (11)
- new (11)
-
ruby 1
. 6 feature (11) - sendmsg (11)
- setsockopt (11)
-
unix
_ rights (22)
検索結果
先頭5件
-
Socket
:: Option # level -> Integer (24101.0) -
ソケットオプションレベルを表す整数を返します。
ソケットオプションレベルを表す整数を返します。 -
BasicSocket
# getsockopt(level , optname) -> Socket :: Option (9419.0) -
ソケットのオプションを取得します。getsockopt(2) を参照してください。 取得したオプションのデータを Socket::Option で返します。
...得します。getsockopt(2)
を参照してください。
取得したオプションのデータを Socket::Option で返します。
level, optname には Socket::SOL_SOCKET や Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル......@param level getsockopt(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::IP......PROTO_TCP, Socket::TCP_NODELAY)
# 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 が互換性のために存在する)
# 整数値の場... -
BasicSocket
# setsockopt(socketoption) -> 0 (9361.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 で設......re 'socket'
# 真偽値の場合
#setsockopt could be called like this:
sock.setsockopt(:SOCKET, :REUSEADDR, true)
sock.setsockopt(Socket::SOL_SOCKET,Socket::SO_REUSEADDR, true)
sock.setsockopt(Socket::Option.bool(:INET, :SOCKET, :REUSEADDR, true))
# 整数値の場合
#setsockopt... -
Socket
:: Option . bool(family , level , optname , boolean) -> Socket :: Option (6313.0) -
整数をデータとして持つ Socket::Option オブジェクト新たに生成し返します。
...整数をデータとして持つ Socket::Option オブジェクト新たに生成し返します。
family, level, optname には Socket::SOL_SOCKET のような整数の他、
文字列("SOL_SOCKET", "SOCKET")、シンボル(:SOL_SOCKET, :SOCKET)を
指定することができます。
@param f......@param level ソケットオプションレベル
@param optname オプションの名前
@param boolean データ(真偽値)
require 'socket'
p Socket::Option.bool(:INET, :SOCKET, :KEEPALIVE, true)
# => #<Socket::Option: INET SOCKET KEEPALIVE 1>
p Socket::Option.bool(:INET, :SOCKET, :KE......EPALIVE, false)
# => #<Socket::Option: AF_INET SOCKET KEEPALIVE 0>... -
Socket
:: Option . int(family , level , optname , integer) -> Socket :: Option (6313.0) -
整数をデータとして持つ Socket::Option オブジェクト新たに生成し返します。
...整数をデータとして持つ Socket::Option オブジェクト新たに生成し返します。
family, level, optname には Socket::SOL_SOCKET のような整数の他、
文字列("SOL_SOCKET", "SOCKET")、シンボル(:SOL_SOCKET, :SOCKET)を
指定することができます。
@param f......amily ソケットファミリー
@param level ソケットオプションレベル
@param optname オプションの名前
@param integer データ(整数)... -
Socket
:: Option . new(family , level , optname , data) -> Socket :: Option (6313.0) -
Socket::Option オブジェクト新たに生成し返します。
...
Socket::Option オブジェクト新たに生成し返します。
family, level, optname には Socket::SOL_SOCKET のような整数の他、
文字列("SOL_SOCKET", "SOCKET")、シンボル(:SOL_SOCKET, :SOCKET)を
指定することができます。
@param family ソケットファミリー......@param level ソケットオプションレベル
@param optname オプションの名前
@param data データ(文字列)
@see Socket::Option.int, Socket::Option.bool, Socket::Option.linger
require 'socket'
sockopt = Socket::Option.new(:INET, :SOCKET, :KEEPALIVE, [1].pack("i"))
p sockopt #......=> #<Socket::Option: INET SOCKET KEEPALIVE 1>... -
Socket
:: Option # linger -> [bool , Integer] (6006.0) -
オプションが SOL_SOCKET/SO_LINGER である場合に、 オプションのデータ(内容)を真偽値と整数のペアとして返します。
...ンが SOL_SOCKET/SO_LINGER である場合に、
オプションのデータ(内容)を真偽値と整数のペアとして返します。
@raise TypeError dataのバイト数が不適切である(sizeof(struct linger)と異なる)場合や、
level/optname が SOL_SOCKET/SO_LINGE......R でないに発生します
@see Socket::Option#data... -
Socket
:: AncillaryData . unix _ rights(*ios) -> Socket :: AncillaryData (3222.0) -
ios で指定したファイルのファイルデスクリプタを データとして持つ family=AF_UNIX, level=SOL_SOCKET, type=SCM_RIGHTS という Socket::AncillaryData オブジェクトを生成して返します。
...ios で指定したファイルのファイルデスクリプタを
データとして持つ family=AF_UNIX, level=SOL_SOCKET, type=SCM_RIGHTS
という Socket::AncillaryData オブジェクトを生成して返します。
require 'socket'
p Socket::AncillaryData.unix_rights(STDERR)
#=> #<S......ocket::AncillaryData: UNIX SOCKET RIGHTS 2>
@param ios IO オブジェクトの配列
@see Socket::AncillaryData#unix_rights,
Socket::Constants::SCM_RIGHTS... -
Socket
:: AncillaryData # unix _ rights -> [IO] | nil (3141.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 な 制御メッセージを受け取ったときに配列が作られます。
適切なオプションを指定しなかった場合は配列は生成されず、
このメ......1, 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 TypeError family/level/type が AF_UNIX/SOL_SOCKET/SCM_RIGHT... -
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 オブジェクトを引......ます。
Socket::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_* という定数の...