On Mar 31, 2007, at 18:20, Ry wrote: > Can someone explain to me why the following serverlet doesn't stream > Hellos. > > require 'webrick' > > class Streamlet < WEBrick::HTTPServlet::AbstractServlet > def do_GET(req, res) > res["content-type"] = "text/plain" > r, w = IO.pipe > res.body = r > res.chunked = true > > Thread.new do > 5.times do |i| I believe that 5 isn't enough hellos to fill up a chunk. Changing this to loop do ... end causes webrick to give you infinite hellos. > w.write("hello #{i}\n") > sleep(1) > end > w.close > end > end > end > > @server = WEBrick::HTTPServer.new(:Port => 4711) > @server.mount("/stream", Streamlet) > > trap("INT") { @server.shutdown } > @server.start > > Thank you. >