[#48810] 全角文字列中の全角及び半角スペースにマッチさせる正規表現 — "Zisaki,Takeshi" <tanzanitez@...>
趣味でrubyプログラミングをやっている Zisaki と言います。
5 messages
2012/07/01
[#48815] Windows環境でのRuby1.8系から1.9系への移行に伴う拡張ライブラリ問題について — えだ ゆきひこ <eda@...>
こんにちは。
4 messages
2012/07/04
[#48827] UNLHA32の「Unlha」が見つからない — 染谷 康一 <kouichi_someya@...>
失礼します。
8 messages
2012/07/11
[#48840] [ANN] RubyConf2012参加支援企画のご案内 — masayoshi takahashi <maki@...>
高橋征義です。日本Rubyの会の方から来ました。
4 messages
2012/07/17
[#48845] お願い Please read to vote. — "Yukihiro Matsumoto" <matz@...>
────────────────────────────────────────
7 messages
2012/07/21
[#48853] 非公式Rubyマスコット「るびくる」によるRake解説記事パート2公開 — info@...
こんにちは。rubicle.net管理人です。
1 message
2012/07/25
[ruby-list:48825] TCPSocket eof? and read
From:
Nobuhiro IMAI <nov@...>
Date:
2012-07-10 03:29:01 UTC
List:
ruby-list #48825
いまいです。
以下のようにすると、たまに以下のような結果になるのですが、sysread だけ
じゃなく、read と eof? を混ぜるのもまずいんでしょうか?
ruby 2.0.0dev (2012-07-10 trunk 36352) [x86_64-linux]
require "socket"
s = TCPServer.new("localhost", 0)
Thread.new do
c = s.accept
c.write("123456")
# c.write("123")
# c.write("456")
c.close
end
addr = s.addr
c = TCPSocket.new(addr[3], addr[1])
Thread.new(c, &:eof?)
c.read(3) # => nil
c.read(3) # => "123"
サーバ側で "123" と "456" で 2 回 wirte すると、末尾の2行は
["123", "456"]
[nil, "123"]
["456", "123"]
["456", nil]
[nil, nil]
という組み合わせのいずれかになります。
ソケットが切断されたらすぐに再接続の処理を始めるという挙動を実現するの
に、eof? でブロックしておいて true が返るか IOError になるのを待つとい
うことをしようとしているのですが、何か他にいい方法はあるでしょうか?
--
Nobuhiro IMAI <nov@yo.rim.or.jp>
Key fingerprint = E57F 2482 4074 13BC 3B9A 165B C689 5B16 A620 4657