2011-11-26 66 views
4

我正在玩EM来实现流和并发。我有一个问题,流... 我运行使用Http streaming with thin&eventmachine

$ rackup -s thin -p 3000 async_app.ru 

虽然与$ ab -c 10 -n 20 http://localhost:3000/测试下面的架子应用https://gist.github.com/1394840,应用程序似乎接受中并行请求。大!

我期望它在实现流媒体的同时。当我在Firefox8中测试它时,它工作得很好。并且使用,结果也与预期一样流传!

但后来在IE & Chrome的测试时,流失败,也就是三线只开的请求后,出现了一起5秒...

我怀疑,如果我错过了什么被要求浏览器吗?我注意到响应头文件中没有Transfer-Encoding:chunked,所以它有什么关系?如果是这样,是Thin的问题吗?我如何使用精简或Chrome浏览器实现流式传输?

谢谢!

回答

0

显然,浏览器只有在得到一定数量的响应之后才会开始渲染页面,因为它指出了in this article。所以,我已经试过以下:

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

我的Safari 6进行了测试,Chrome浏览器22和Firefox 14,他们都开始按预期第一条消息不小于1 KB的工作。实际上,即使第一个超过512字节,Safari也开始打印消息。