種類
- インスタンスメソッド (33)
- 文書 (31)
- 特異メソッド (11)
- ライブラリ (11)
クラス
- IO (11)
- Socket (11)
- UDPSocket (11)
- UNIXServer (11)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) -
NEWS for Ruby 2
. 3 . 0 (9) -
accept
_ nonblock (11) -
connect
_ nonblock (11) -
net
/ imap (11) -
recvfrom
_ nonblock (11) -
ruby 1
. 6 feature (11)
検索結果
先頭5件
-
IO
. select(reads , writes = [] , excepts = [] , timeout = nil) -> [[IO]] | nil (18141.0) -
select(2) を実行します。
...
select(2) を実行します。
与えられた入力/出力/例外待ちの IO オブジェクトの中から準備ができたものを
それぞれ配列にして、配列の配列として返します。
タイムアウトした時には nil を返します。
@param reads 入力待ちする......た IO オブジェクトが閉じられていた時に発生します。
@raise Errno::EXXX select(2) に失敗した場合に発生します。
rp, wp = IO.pipe
mesg = "ping "
100.times{
rs, ws, = IO.select([rp], [wp])
if r = rs[0]
ret = r.read(5)
print ret
case ret......when /ping/
mesg = "pong\n"
when /pong/
mesg = "ping "
end
end
if w = ws[0]
w.write(mesg)
end
}
@see Kernel.#select... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (84.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...に errno が一致する例外を同じと見なすよう
に再定義されました。これにより、例えば Errno::EWOULDBLOCK と
Errno::EAGAIN が同じ意味(同じerrno)の場合にどちらを指定しても rescue
できるようになりました。
その後、errno が......一致する Errno::XXX オブジェクトは同一のオブジェクト
になったのでこの変更の効果はなくなってますが、変更自体は残ってます。
(ユーザで例外クラスを定義するのに使えるかもしれません)
((<ruby-dev:19589>))
: while, until,......: ((<MatchData#captures|MatchData/captures>)) [new]
追加。((<RCR#139>))
: ((<MatchData#select|MatchData/select>)) [new]
((<MatchData>)) は、Enumerable ではありませんが、Enumerable#select
と同じメソッドが定義されました。
=== Math
: ((<Math/Math.erf>)) [new]
:... -
ruby 1
. 6 feature (78.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
...22: errno
EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていました。現在は、このようなシステムでは、EWOULDBLOCK は、EAGAIN
として定義されています。(これは 1.6.7 とは異なる挙動です)
p Errno::E......AGAIN
p Errno::EWOULDBLOCK
=> ruby 1.6.7 (2002-03-01) [i586-linux]
Errno::EAGAIN
Errno::EWOULDBLOCK
=> ruby 1.6.8 (2002-12-24) [i586-linux]
Errno::EAGAIN
-:2: uninitialized constant EWOULDBLOCK at Errno (NameError)
=> rub......のソケットの問題が1つ解決されたようです。(どのような問題かは
大本のメールがわかりませんでしたが、selectで読み込み可能になったのに
空配列が返されるという問題なのだそうです) ((<ruby-talk:40015>)),
((<ruby-win32:366>)... -
UDPSocket
# recvfrom _ nonblock(maxlen , flags=0) -> [String , Array] (36.0) -
ソケットをノンブロッキングモードに設定した後、 recvfrom(2) でソケットからデータを受け取ります。
...レス情報の
2要素の配列となります。
recvfrom(2) がエラーになった場合、
Errno::EAGAIN, Errno::EINTR を含め例外 Errno::EXXX が発生します。
Errno::EWOULDBLOCK、Errno::EAGAIN のような待ってからリトライすることが
可能であることを意味す......emulate blocking recvfrom
p s2.recvfrom_nonblock(10)
#=> ["aaa", ["AF_INET", 33302, "localhost.localdomain", "127.0.0.1"]]
rescue IO::WaitReadable
IO.select([s2])
retry
end
@param maxlen 受け取るデータの最大バイト数
@param flags フラグ
@see IPSocket#recvfrom... -
UNIXServer
# accept _ nonblock -> UnixSocket (36.0) -
ソケットをノンブロッキングモードに設定した後、 accept(2) を呼び出します。
...スを返します。
accept(2) がエラーになった場合、Socket#accept と同じ例外が
発生します。
Errno::EWOULDBLOCK, Errno::EAGAIN,
Errno::ECONNABORTED, Errno::EPROTO のいずれかの例外が
発生した場合は、その例外には IO::WaitReadable が extend
されま......を掴まえることができます。
require 'socket'
serv = UNIXServer.new("/tmp/sock")
begin # emulate blocking accept
sock = serv.accept_nonblock
rescue IO::WaitReadable, Errno::EINTR
IO.select([serv])
retry
end
# sock is an accepted socket.
@see UNIXServer#accept... -
net
/ imap (30.0) -
このライブラリは Internet Message Access Protocol (IMAP) の クライアントライブラリです。2060 を元に 実装されています。
...セージ(メール)を処理する場合、
まず Net::IMAP#select もしくは
Net::IMAP#examine で処理対象のメールボックスを
指定する必要があります。これらの操作が成功したならば、
「selected」状態に移行し、そのメールボックスが「処理......対象の」
メールボックスとなります。このようにしてメールボックスを
選択してから、selected状態を終える(別のメールボックスを選択したり、
接続を終了したり)までをセッションと呼びます。
メッセージには2種類の識......、IMAPクラスのメソッドは
Socket 関連のエラーが発生するかもしれません。例えば、
通信中に接続が切れると Errno::EPIPE 例外が
発生します。詳しくは Socket などを見てください。
Net::IMAP::DataFormatError、
Net::IMAP::ResponseParseError... -
Socket
# connect _ nonblock(server _ sockaddr) -> 0 (24.0) -
ソケットをノンブロッキングモードに設定した後、 connect(2) を呼び出します。
...び出します。
引数、返り値は Socket#connect と同じです。
connect が EINPROGRESS エラーを報告した場合、その例外(Errno::EINPROGRESS)
には IO::WaitWritable が Object#extend されます。
これを connect_nonblock をリトライするために使うことがで.......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:... -
NEWS for Ruby 2
. 3 . 0 (18.0) -
NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...プションの追加。
this parameter is bitwise-ORed to oflags generated by normal mode argument.
11253
* IO#advise はもはや Errno::ENOSYS を起こしません。
サポートの有無を実行時ではなくビルド時に検出するためです。
11806
* Ke......read#name, Thread#name= を追加
11251
=== 組み込みクラスの互換性 (機能追加とバグ修正を除く)
* Array
* Array#select!, Array#keep_if, Array#reject!, Array#delete_if
ブロックが評価される度にレシーバーの配列をすぐに変更しないよ......モード時のアウトプットが少なくなりました。
11044
* (Linuxのみ) 標準添付ライブラリ内で、一つのFDをselect(2)で待つ箇所がなくなりました。
大きい番号のFDで遅くなり辛くなりました。
11081
11377
* CGI.esc...