次のような TCP ソケットで入力行を読み込んでいます。
class Bla
def getcmd
@sock.gets unless @sock.closed?
end
def start
srv = TCPServer.new(5000)
@sock = srv.accept
while ! @sock.closed?
ans = getcmd
end
end
end
getline() の実行中にエンドポイントが接続を終了すると、gets() がハングします。
どうすればこれを回避できますか? ノンブロッキングまたは時限 I/O を行う必要がありますか?