60件ヒット
[1-60件を表示]
(0.094秒)
種類
- インスタンスメソッド (48)
- モジュール (12)
クラス
- IO (12)
-
OpenSSL
:: SSL :: SSLSocket (12) - Socket (12)
モジュール
-
OpenSSL
:: Buffering (12)
キーワード
-
accept
_ nonblock (12) -
connect
_ nonblock (12) -
read
_ nonblock (12) -
write
_ nonblock (12)
検索結果
先頭5件
-
IO
:: WaitWritable (24000.0) -
例外が書き込み待ちで発生したことを意味します。
例外が書き込み待ちで発生したことを意味します。
例外オブジェクトに extend されます。詳しくは
IO#write_nonblock を参照してください。 -
OpenSSL
:: Buffering # read _ nonblock(maxlen , buf) -> String (6112.0) -
通信路から maxlen バイトを上限としてデータを読み込み、 文字列として返します。
...通信路から maxlen バイトを上限としてデータを読み込み、
文字列として返します。
即座に得られるデータが 1byte でも存在すればブロックしません。
内部バッファが空でない場合はバッファのデータを返します。
即座に得......びこのメソッドを呼んでください。
基本的には IO#read_nonblock と同様です。しかし以下のような
違いもあります。
このメソッドはソケットが書き込み不可能(IO::WaitWritable)という理由で
例外を発生させる可能性があります。......ック単位で暗号化/復号化
するためです。
@param maxlen 読み込む長さの上限(整数)
@param buf 読み込みバッファ
@raise EOFError 読み込みが既に終端に到達している場合に発生します
@raise OpenSSL::SSL::SSLError ソケットが読み込み/書き... -
OpenSSL
:: SSL :: SSLSocket # accept _ nonblock -> self (6106.0) -
ノンブロッキング方式で TLS/SSL 通信をサーバモードとして開始し、 クライアントとのハンドシェイクを実行します。
...O が読み込み/書き込み
可能状態になってからこのメソッドをもう一度呼ぶと
ハンドシェイクを再開します。
@raise OpenSSL::SSL::SSLError ハンドシェイクに失敗した(VERIFY_PEER で
証明書の検証に失敗した場合や、プロトコル......ェクトが生成されます)
@raise OpenSSL::SSL::SSLError ソケットが読み込み/書き込み可能状態になるのを
待つ必要がある場合に発生します。
読み込み可能状態を待つ必要がある場合には IO::WaitReadable を、
書き込み可......能状態を待つ必要がある場合には IO::WaitWritable を、
それぞれ extend した例外オブジェクトが生成されます。
@see OpenSSL::SSL::SSLSocket#connect_nonblock,
OpenSSL::SSL::SSLSocket#accept... -
IO
# write _ nonblock(string , exception: true) -> Integer | :wait _ writable (112.0) -
IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。
...んだ長さを返します。
EAGAIN, EINTR などは例外 Errno::EXXX として呼出元に報告されます。
書き込んだバイト数(つまり返り値)は String#bytesize の
値より小さい可能性があります。
発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK であ......ジェクトに IO::WaitWritable が Object#extend
されます。よって IO::WaitWritable を write_nonblock のリトライが必要
かの判定に用いることができます。
@param string 自身に書き込みたい文字列を指定します。
@param exception false を指定する......と、書き込み時に Errno::EAGAIN、Errno::EWOULDBLOCK が発生
する代わりに :wait_writable を返します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX write(2) が失敗した場合に発生し... -
Socket
# connect _ nonblock(server _ sockaddr) -> 0 (112.0) -
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
...IO::WaitWritable が Object#extend されます。
これを connect_nonblock をリトライするために使うことができます。
# Pull down Google's web page
require 'socket'
include Socket::Constants
socket = Socket.new(AF_INET, SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(8......0, 'www.google.com')
begin # emulate blocking connect
socket.connect_nonblock(sockaddr)
rescue IO::WaitWritable
IO.select(nil, [socket]) # wait 3-way handshake completion
begin
socket.connect_nonblock(sockaddr) # check connection failure
rescue Errno::EISCONN
end
end......socket.write("GET / HTTP/1.0\r\n\r\n")
results = socket.read
@param server_sockaddr 接続先アドレス
@raise Errno::EXXX connect(2) がエラーを報告した場合に発生します。詳しくは
man を参照してください。...