種類
- インスタンスメソッド (366)
- 文書 (49)
- 定数 (24)
- ライブラリ (12)
ライブラリ
クラス
-
ARGF
. class (12) - BasicSocket (60)
- IO (60)
-
OpenSSL
:: SSL :: SSLSocket (36) - Socket (36)
- StringIO (24)
- TCPServer (12)
-
Thread
:: Queue (36) -
Thread
:: SizedQueue (36) - ThreadsWait (6)
- UDPSocket (12)
- UNIXServer (12)
モジュール
- Fcntl (12)
-
File
:: Constants (12) -
OpenSSL
:: Buffering (24)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) -
NEWS for Ruby 2
. 5 . 0 (8) -
NEWS for Ruby 3
. 0 . 0 (5) - NONBLOCK (12)
-
O
_ NONBLOCK (12) -
accept
_ nonblock (48) - connect (12)
-
connect
_ nonblock (24) - deq (24)
-
io
/ nonblock (12) -
next
_ wait (6) - nonblock= (12)
- nonblock? (12)
- pop (24)
-
read
_ nonblock (48) -
recv
_ nonblock (12) -
recvfrom
_ nonblock (24) - recvmsg (12)
-
recvmsg
_ nonblock (12) -
ruby 1
. 6 feature (12) -
ruby 1
. 8 . 3 feature (12) - sendmsg (12)
-
sendmsg
_ nonblock (12) - shift (24)
-
write
_ nonblock (36)
検索結果
先頭5件
-
IO
# nonblock(bool = true) { . . . } -> object (24201.0) -
ブロック実行中、一時的に self のブロックモードを変更します。 bool が真ならノンブロックモード、偽ならブロックモードになります。
ブロック実行中、一時的に self のブロックモードを変更します。
bool が真ならノンブロックモード、偽ならブロックモードになります。
@param bool 真を指定するとノンブロックモード、偽を指定するとブロックモードになります。 -
Socket
# connect _ nonblock(server _ sockaddr) -> 0 (18319.0) -
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
...定した後、
connect(2) を呼び出します。
引数、返り値は Socket#connect と同じです。
connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend されます。
これを connect_nonblock をリトライ......Constants
socket = Socket.new(AF_INET, SOCK_STREAM, 0)
sockaddr = Socket.sockaddr_in(80, '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.conn......ect_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) がエラーを報告した場合に発生します。詳しくは... -
OpenSSL
:: SSL :: SSLSocket # connect _ nonblock -> self (18307.0) -
ノンブロッキング方式で TLS/SSL 通信をクライアントモードとして開始し、 サーバとのハンドシェイクを実行します。
...る場合には IO::WaitReadable を、
書き込み可能状態を待つ必要がある場合には IO::WaitWritable を、
それぞれ extend した例外オブジェクトが生成されます。
@see OpenSSL::SSL::SSLSocket#accept_nonblock,
OpenSSL::SSL::SSLSocket#connect... -
File
:: Constants :: NONBLOCK -> Integer (15201.0) -
ファイルが利用可能じゃなくてもブロックしません。 File.openで使用します。
ファイルが利用可能じゃなくてもブロックしません。
File.openで使用します。 -
ARGF
. class # read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (12317.0) -
処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。 詳しくは IO#read_nonblock を参照してください。
...処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。
詳しくは IO#read_nonblock を参照してください。
ARGF.class#read などとは違って複数ファイルを同時に読み込むことはありません。
@param maxlen 読......限を整数で指定します。
@param outbuf 読み込んだデータを格納する String オブジェクトを指定します。
@param exception 読み込み時に Errno::EAGAIN、
Errno::EWOULDBLOCK が発生する代わりに
:wait_readable を返すかど... -
IO
# read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (12313.0) -
IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
...は、
その例外オブジェクトに IO::WaitReadable が Object#extend
されます。
なお、バッファが空でない場合は、read_nonblock はバッファから読み込みます。この場合、read(2) システムコールは呼ばれません。
このメソッドはノンブロ......を返します。
@param maxlen 読み込む長さの上限を整数で指定します。
@param outbuf 文字列で指定します。IO#read_nonblock は読み込んだデータを outbuf に破壊的に格納し、
返り値は outbuf となります。outbuf は一旦 maxlen 長......だデータのサイズになります。read(2) システムコールが 0 を返した場合は、空文字列になります。
@param exception 読み込み時に Errno::EAGAIN、
Errno::EWOULDBLOCK が発生する代わりに
:wait_readable を返すかどう... -
IO
# write _ nonblock(string , exception: true) -> Integer | :wait _ writable (12307.0) -
IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。
...ject#extend
されます。よって IO::WaitWritable を write_nonblock のリトライが必要
かの判定に用いることができます。
@param string 自身に書き込みたい文字列を指定します。
@param exception false を指定すると、書き込み時に Errno::EAGAIN、... -
BasicSocket
# recvmsg _ nonblock(maxmesglen=nil , flags=0 , maxcontrollen=nil , opts={}) -> [String , Addrinfo , Integer , *Socket :: AncillaryData] (12301.0) -
recvmsg(2) を用いてノンブロッキング方式でメッセージを受け取ります。
...ングの有無以外は BasicSocket#recvmsg と同じです。
詳しくはそちらを参照してください。
@param maxmesglen 受け取るメッセージの最大長
@param flags フラグ
@param maxcontrollen 受け取る補助データの最大長
@param opts ハッシュオプション... -
BasicSocket
# sendmsg _ nonblock(mesg , flags=0 , dest _ sockaddr=nil , *controls) -> Integer (12301.0) -
sendmsg(2) を用いてノンブロッキング方式でメッセージを送ります。
...sendmsg を見てください。
@return 送ったバイト数
@param mesg メッセージ文字列
@param flags フラグ(Socket::MSG_* という定数の bitwise OR を取ったもの)
@param dest_sockaddr 通信先のアドレス
@param controls 補助データの配列
@see BasicSocket#sendmsg...