0

Play 1.2.x アプリからバイナリ データを提供しています。クライアントのハードウェアの制約 (遅いプロセッサと少量の RAM) により、256 バイトのチャンクを次々に書き込むだけでは機能しませんでした。単純な解決策は、次のようにチャンク間にタイムアウトを使用することです。

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

これは正常に機能しますが、スリープの呼び出しでサーバー全体を占有しているため、明らかに悪い考えです。

Play 1.2.x でこれを行う正しい方法はありますか?

4

1 に答える 1

3

コードがコントローラーで実行されている場合は、await() 関数を使用できます。

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

これは、メインの再生スレッドをブロックしません。

于 2012-05-14T12:43:17.000 に答える