Play Framework 2.5 延迟流式传输内容
Play Framework 2.5 Streaming content with delay
我一直在尝试在 Java 中使用 Play Framework 2.5 通过 HTTP 延迟传输内容。
问题是我不确定结果是否真的在流式传输,这就是为什么我试图延迟每个项目的发射,但由于某种原因似乎不起作用。
代码
public Result test(){
HttpEntity http = new HttpEntity.Streamed(Source.range(0, 99999)
.map(i -> ByteString.fromString(i.toString()))
.initialDelay(FiniteDuration.create(200, TimeUnit.MILLISECONDS))
, Optional.empty(), Optional.of("text/event-stream"));
return ok().sendEntity(http);
}
可以找到回复here。
它会 return 值但不会延迟它们,它还会在加载一段时间后发送整个响应。我不确定 initialDelay 是否是延迟的正确运算符。
这是使用 Play 发送流的正确方法吗?我一直在使用此页面作为参考 https://www.playframework.com/documentation/2.5.x/StreamsMigration25
感谢您的帮助!
您应该使用 delay
,而不是 initialDelay
,这只是流程开始时的延迟。请注意,当缓冲区已满时,您需要定义溢出策略。
我一直在尝试在 Java 中使用 Play Framework 2.5 通过 HTTP 延迟传输内容。
问题是我不确定结果是否真的在流式传输,这就是为什么我试图延迟每个项目的发射,但由于某种原因似乎不起作用。
代码
public Result test(){
HttpEntity http = new HttpEntity.Streamed(Source.range(0, 99999)
.map(i -> ByteString.fromString(i.toString()))
.initialDelay(FiniteDuration.create(200, TimeUnit.MILLISECONDS))
, Optional.empty(), Optional.of("text/event-stream"));
return ok().sendEntity(http);
}
可以找到回复here。
它会 return 值但不会延迟它们,它还会在加载一段时间后发送整个响应。我不确定 initialDelay 是否是延迟的正确运算符。
这是使用 Play 发送流的正确方法吗?我一直在使用此页面作为参考 https://www.playframework.com/documentation/2.5.x/StreamsMigration25
感谢您的帮助!
您应该使用 delay
,而不是 initialDelay
,这只是流程开始时的延迟。请注意,当缓冲区已满时,您需要定义溢出策略。