クラス
- BasicSocket (2)
-
Net
:: FTP (1) -
Net
:: IMAP (2) -
OpenSSL
:: SSL :: SSLContext (1) -
OpenSSL
:: SSL :: SSLSocket (11) - Socket (1)
- UDPSocket (4)
モジュール
- TSort (5)
キーワード
- accept (1)
-
accept
_ nonblock (1) - cert (1)
- cipher (1)
- close (1)
-
connect
_ nonblock (2) - disconnect (1)
- disconnected? (1)
-
each
_ strongly _ connected _ component (2) -
each
_ strongly _ connected _ component _ from (2) - getsockopt (1)
- hostname= (1)
-
peer
_ cert (1) -
peer
_ cert _ chain (1) -
post
_ connection _ check (1) -
recvfrom
_ nonblock (1) - send (4)
- session= (1)
-
session
_ cache _ stats (1) -
strongly
_ connected _ components (1)
検索結果
先頭5件
-
OpenSSL
:: SSL :: SSLSocket # connect -> self (72625.0) -
TLS/SSl 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。
TLS/SSl 通信をクライアントモードとして開始し、
サーバとのハンドシェイクを実行します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@see OpenSSL::SSL::SSLSocket#accept,
OpenSSL::SSL::SSLSocket#connect_nonblock -
OpenSSL
:: SSL :: SSLSocket # connect _ nonblock -> self (45625.0) -
ノンブロッキング方式で TLS/SSL 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。
ノンブロッキング方式で
TLS/SSL 通信をクライアントモードとして開始し、
サーバとのハンドシェイクを実行します。
IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断します。IO が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@raise OpenSSL::SSL::S... -
Socket
# connect _ nonblock(server _ sockaddr) -> 0 (36781.0) -
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
ソケットをノンブロッキングモードに設定した後、
connect(2) を呼び出します。
引数、返り値は Socket#connect と同じです。
connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend されます。
これを connect_nonblock をリトライするために使うことができます。
# Pull down Google's web page
require 'socket'
include Socket::Constants
... -
TSort
# each _ strongly _ connected _ component -> Enumerator (36604.0) -
TSort#strongly_connected_components メソッドのイテレータ版です。 obj.each_strongly_connected_component は obj.strongly_connected_components.each に似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。
TSort#strongly_connected_components メソッドのイテレータ版です。
obj.each_strongly_connected_component は
obj.strongly_connected_components.each に似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。
each_strongly_connected_component は nil を返します。
//emlist[使用例][ruby]{
require 'tsort'
class Hash
include TSort
a... -
TSort
# each _ strongly _ connected _ component {|nodes| . . . } -> nil (36604.0) -
TSort#strongly_connected_components メソッドのイテレータ版です。 obj.each_strongly_connected_component は obj.strongly_connected_components.each に似ていますが、 ブロックの評価中に obj が変更された場合は予期しない結果になる ことがあります。
TSort#strongly_connected_components メソッドのイテレータ版です。
obj.each_strongly_connected_component は
obj.strongly_connected_components.each に似ていますが、
ブロックの評価中に obj が変更された場合は予期しない結果になる
ことがあります。
each_strongly_connected_component は nil を返します。
//emlist[使用例][ruby]{
require 'tsort'
class Hash
include TSort
a... -
TSort
# each _ strongly _ connected _ component _ from(node , id _ map={} , stack=[]) -> Enumerator (36604.0) -
node から到達可能な強連結成分についてのイテレータです。
node から到達可能な強連結成分についてのイテレータです。
返す値は規定されていません。
each_strongly_connected_component_from は
tsort_each_node を呼びません。
@param node ノードを指定します。
//emlist[例 到達可能なノードを表示する][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node... -
TSort
# each _ strongly _ connected _ component _ from(node , id _ map={} , stack=[]) {|nodes| . . . } -> () (36604.0) -
node から到達可能な強連結成分についてのイテレータです。
node から到達可能な強連結成分についてのイテレータです。
返す値は規定されていません。
each_strongly_connected_component_from は
tsort_each_node を呼びません。
@param node ノードを指定します。
//emlist[例 到達可能なノードを表示する][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node... -
TSort
# strongly _ connected _ components -> Array (36604.0) -
強連結成分の集まりを配列の配列として返します。 この配列は子から親に向かってソートされています。 各要素は強連結成分を表す配列です。
強連結成分の集まりを配列の配列として返します。
この配列は子から親に向かってソートされています。
各要素は強連結成分を表す配列です。
//emlist[使用例][ruby]{
require 'tsort'
class Hash
include TSort
alias tsort_each_node each_key
def tsort_each_child(node, &block)
fetch(node).each(&block)
end
end
non_sort = {1=>[2], 2=>[3, 4], 3=>[2], 4=>[]}
p non_sor... -
OpenSSL
:: SSL :: SSLSocket # post _ connection _ check(hostname) -> true (36322.0) -
接続後検証を行います。
接続後検証を行います。
検証に成功した場合は true を返し、失敗した場合は例外
OpenSSL::SSL::SSLError を発生させます。
OpenSSL の API では、
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
での検証は実用的には不完全です。
CA が証明書に署名してそれが失効していないことしか確認しません。
実用上は証明書に記載されている事項を見て、接続先が妥当であるかを確認する
必要があります。通常は接続先ホストの FQDN と証明書に記載されている FQDN が
一致しているか... -
OpenSSL
:: SSL :: SSLSocket # accept _ nonblock -> self (27322.0) -
ノンブロッキング方式で TLS/SSL 通信をサーバモードとして開始し、 クライアントとのハンドシェイクを実行します。
ノンブロッキング方式で
TLS/SSL 通信をサーバモードとして開始し、
クライアントとのハンドシェイクを実行します。
IO が読み込み待ち、もしくは書き込み待ちになった場合は例外を
発生させ、ハンドシェイクを中断します。IO が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
(実際は OpenSSL::S... -
Net
:: IMAP # disconnect -> nil (18604.0) -
サーバとの接続を切断します。
サーバとの接続を切断します。
@see Net::IMAP#disconnected? -
Net
:: IMAP # disconnected? -> bool (18604.0) -
サーバとの接続が切断されていれば真を返します。
サーバとの接続が切断されていれば真を返します。
@see Net::IMAP#disconnect -
OpenSSL
:: SSL :: SSLContext # session _ cache _ stats -> {Symbol -> Integer} (18358.0) -
セッションキャッシュの内部統計情報をハッシュテーブルで返します。
セッションキャッシュの内部統計情報をハッシュテーブルで返します。
ハッシュテーブルの各キーとその意味は以下の通りです。
* :cache_num 内部キャッシュに保持されているセッションの数
* :connect クライアント側でハンドシェイクした回数
* :connect_good クライアント側でハンドシェイクが成功した回数
* :connect_renegotiate クライアント側で再ネゴシエイトした回数
* :accept サーバ側でハンドシェイクした回数
* :accept_good サーバ側でハンドシェイクが成功した回数
* :accept_ren... -
UDPSocket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Array] (18340.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。
ソケットをノンブロッキングモードに設定した後、
recvfrom(2) でソケットからデータを受け取ります。
maxlen で受け取るデータの最大バイト数を指定します。
flags はフラグで、Socket::MSG_* の bitwise OR を渡します。
詳しくは recvfrom(2) を参照してください。
返り値はデータの文字列と送り元のアドレス情報の
2要素の配列となります。
recvfrom(2) がエラーになった場合、
Errno::EAGAIN, Errno::EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Err... -
Net
:: FTP # close -> () (18322.0) -
サーバとの接続を切ります。
サーバとの接続を切ります。
再び Net::FTP#connect で接続しない限り
一切の操作が不可能になります。 -
OpenSSL
:: SSL :: SSLSocket # accept -> self (18322.0) -
TLS/SSL 通信をサーバモードとして開始し、クライアントからの ハンドシェイク開始を待ち、クライアントとのハンドシェイクを実行します。
TLS/SSL 通信をサーバモードとして開始し、クライアントからの
ハンドシェイク開始を待ち、クライアントとのハンドシェイクを実行します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル合意に失敗したなど)
場合に発生します
@see OpenSSL::SSL::SSLSocket#connect,
OpenSSL::SSL::SSLSocket#accept_nonblock -
OpenSSL
:: SSL :: SSLSocket # cert -> OpenSSL :: X509 :: Certificate | nil (18322.0) -
自分自身を証明する証明書を返します。
自分自身を証明する証明書を返します。
自分自身を証明する証明書を使わなかった場合は nil を返します。
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼んだ
場合も nil を返します。
@see OpenSSL::SSL::SSLContext#cert -
OpenSSL
:: SSL :: SSLSocket # peer _ cert -> OpenSSL :: X509 :: Certificate | nil (18322.0) -
接続相手の証明書オブジェクトを返します。
接続相手の証明書オブジェクトを返します。
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼ぶと nil を返します。
@see OpenSSL::SSL::SSLSocket#peer_cert_chain -
OpenSSL
:: SSL :: SSLSocket # peer _ cert _ chain -> [OpenSSL :: X509 :: Certificate] | nil (18322.0) -
接続相手の証明書チェインを OpenSSL::X509::Certificate オブジェクト の配列で返します。
接続相手の証明書チェインを OpenSSL::X509::Certificate オブジェクト
の配列で返します。
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼ぶと nil を返します。
以下の順の配列を返します。
[接続相手の証明書, 下位CAの証明書,... 中間CAの証明書]
ルート CA の証明書は含まれないことに注意してください。
@see OpenSSL::SSL::SSLSocket#peer_cert -
OpenSSL
:: SSL :: SSLSocket # cipher -> [String , String , Integer , Integer] (18022.0) -
現在実際に使われている暗号の情報を配列で返します。
現在実際に使われている暗号の情報を配列で返します。
返される配列の形式は以下の例のように [暗号名, TLS/SSLのバージョン, 鍵長, アルゴリズムで使われる bit 数] となります。
["DES-CBC3-SHA", "TLSv1/SSLv3", 168, 168]
OpenSSL::SSL::SSLSocket#connect や OpenSSL::SSL::SSLSocket#accept
で SSL/TLS ハンドシェイクを行う前にこのメソッドを呼ぶと nil を返します。 -
OpenSSL
:: SSL :: SSLSocket # hostname=(hostname) (18022.0) -
TLS の Server Name Indication(SNI) 拡張で利用するサーバのホスト名を設定します。
TLS の Server Name Indication(SNI) 拡張で利用するサーバのホスト名を設定します。
Server Name Indication については 3546 を参照してください。
このメソッドはハンドシェイク時にクライアント側がサーバ側に
サーバのホスト名を伝えるために用います。そのため、
クライアント側が OpenSSL::SSL::SSLSocket#connect を呼ぶ前に
このメソッドでホスト名を指定する必要があります。
hostname に nil を渡すと SNI 拡張を利用しません。
サーバ側については OpenSSL::SSL::SSLCont... -
OpenSSL
:: SSL :: SSLSocket # session=(sess) (18022.0) -
ハンドシェイクで再利用する SSL セッションを 設定します。
ハンドシェイクで再利用する SSL セッションを
設定します。
このメソッドはクライアント側でのみ有用です。
セッションを再利用する場合は、
OpenSSL::SSL::SSLSocket#connect を呼ぶ前に
このメソッドでセッションオブジェクト
(OpenSSL::SSL::Session のインスタンス)
を設定します。
サーバ側の場合 OpenSSL::SSL::SSLContext がキャッシュの保持と
管理を行います。
@param sess 設定するセッション
@see OpenSSL::SSL::SSLSocket#session,
OpenSSL::SS... -
BasicSocket
# send(mesg , flags , dest _ sockaddr = nil) -> Integer (352.0) -
ソケットを介してデータを送ります。flags に関しては send(2) を参照してください。connect していないソケット に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ たデータの長さを返します。
ソケットを介してデータを送ります。flags に関しては
send(2) を参照してください。connect していないソケット
に対しては送り先である dest_sockaddr を指定する必要があります。実際に送っ
たデータの長さを返します。
dest_sockaddr には「ソケットアドレス構造体を pack した文字列」
を指定します。
データの送信に失敗した場合は例外 Errno::EXXX が発生します。
@param mesg 送信するデータを文字列で指定します。
@param flags send(2) の flags を参照してください。
@... -
BasicSocket
# getsockopt(level , optname) -> Socket :: Option (322.0) -
ソケットのオプションを取得します。getsockopt(2) を参照してください。 取得したオプションのデータを Socket::Option で返します。
ソケットのオプションを取得します。getsockopt(2)
を参照してください。
取得したオプションのデータを Socket::Option で返します。
level, optname には Socket::SOL_SOCKET や Socket::SO_REUSEADDR
といった整数値の他、文字列("SOL_SOCKET", prefixなしの "SOCKET")や
シンボル(:SO_REUSEADDR, :REUSEADDR)を用いることができます。
@param level getsockopt(2) の 第二引数のlevel
@param optname gets... -
UDPSocket
# send(mesg , flags) -> Integer (322.0) -
UDP ソケットを介してデータを送ります。
UDP ソケットを介してデータを送ります。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しい意味は send(2) を参照してください。
host, port の対、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
先にデータを送ります。
実際に送ったデータの長さを返します。
sockaddr_to にはlib:socket#pack_string もしくは
Addrinfo オブジェクトを指定します。
host, port に関しては lib:so... -
UDPSocket
# send(mesg , flags , host , port) -> Integer (322.0) -
UDP ソケットを介してデータを送ります。
UDP ソケットを介してデータを送ります。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しい意味は send(2) を参照してください。
host, port の対、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
先にデータを送ります。
実際に送ったデータの長さを返します。
sockaddr_to にはlib:socket#pack_string もしくは
Addrinfo オブジェクトを指定します。
host, port に関しては lib:so... -
UDPSocket
# send(mesg , flags , sockaddr _ to) -> Integer (322.0) -
UDP ソケットを介してデータを送ります。
UDP ソケットを介してデータを送ります。
flags には Socket::MSG_* という定数の bitwise OR を渡します。
詳しい意味は send(2) を参照してください。
host, port の対、もしくは sockaddr_to で送り先を指定します。
送り先を省略した場合は UDPSocket#connect で接続した
先にデータを送ります。
実際に送ったデータの長さを返します。
sockaddr_to にはlib:socket#pack_string もしくは
Addrinfo オブジェクトを指定します。
host, port に関しては lib:so...