Http流媒体与瘦&eventmachine

我正在玩EM来实现流媒体和并发。 我遇到了流式传输问题…我运行以下机架应用https://gist.github.com/1394840使用

$ rackup -s thin -p 3000 async_app.ru 

在使用$ ab -c 10 -n 20 http://localhost:3000/ ,应用程序似乎接受了parellel请求。 大!

我希望它同时实现流媒体。 当我在Firefox8中测试它时,它运行良好。 使用$ curl -i http://localhost:3000/ ,结果也像预期的那样流式传输!

但后来在IE和Chrome中进行测试时,流式传输失败了,也就是说,三条线路只在请求发出后5秒内一起出现……

我怀疑如果我错过了浏览器所需的东西? 我注意到没有Transfer-Encoding:chunked在响应头Transfer-Encoding:chunked ,所以它重要吗? 如果是这样,那是Thin的问题吗? 如何使用精简版或Chrome实现流式传输?

谢谢!

显然,浏览器不会开始呈现页面,直到它们获得某些“响应量”,正如本文中所指出的那样。 所以我试过以下:

  body.call ["Hey!\n".ljust(1024)] 

我已经使用Safari 6,Chrome 22和Firefox 14进行了测试,当第一条消息不低于1 Kb时,它们都按预期开始工作。 实际上,即使第一个消息超过512个字节,Safari也开始打印消息。