是否有可能减缓分块响应?

时间:2012-05-14 12:21:39

标签: playframework

我正在从Play 1.2.x应用程序提供二进制数据。由于客户端的硬件限制(缓慢的处理器和少量的RAM),只是一个接一个地写入256字节的块不起作用。天真的解决方案是在块之间使用超时,如下所示:

while(we have chunks to write) {
   response.writeChunk(aChunk);
   Thread.sleep(250);
}

这很好用,但显然是一个坏主意,因为我们正在通过呼叫睡眠来占用整个服务器。

在Play 1.2.x中有没有正确的方法?

1 个答案:

答案 0 :(得分:3)

如果您的代码在控制器中执行,则可以使用await()函数。

while(we have chunks to write) {
   response.writeChunk(aChunk);
   await(250);
}

这不会阻止主播放线程。