gpt4 book ai didi

ruby - 使用 thin & eventmachine 的 HTTP 流式传输

转载 作者:数据小太阳 更新时间:2023-10-29 07:39:56 25 4
gpt4 key购买 nike

我在玩EM,实现流式和并发。我在流式传输时遇到问题...我运行以下机架应用程序 https://gist.github.com/1394840使用

$ rackup -s thin -p 3000 async_app.ru

在使用 $ ab -c 10 -n 20 http://localhost:3000/ 进行测试时,该应用程序似乎接受了并行请求。太棒了!

我希望它能同时实现流式传输。当我在 Firefox8 中测试它时,它工作得很好。并使用 $ curl -i http://localhost:3000/,结果也按预期流式传输!

但后来在 IE 和 Chrome 中测试时,流式传输失败,即三行在请求触发后 5 秒才一起出现...

我怀疑是不是漏掉了浏览器要求的东西?我注意到响应 header 中没有 Transfer-Encoding:chunked,这有关系吗?如果是这样,是 Thin 的问题吗?如何使用 thin 或 Chrome 实现流式处理?

谢谢!

最佳答案

显然,浏览器在获得一定“数量”的响应之前不会开始呈现页面,正如它指出的那样in this article .所以我尝试了以下操作:

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

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

关于ruby - 使用 thin & eventmachine 的 HTTP 流式传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8275899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com