【发布时间】:2013-12-06 00:45:53
【问题描述】:
我需要向 Play 服务器发送数据流。流的长度是未知的,我需要在每个换行符\n 或每隔几行得到一个响应。而不是等待发送整个数据。
考虑以下用例:
假设我打算编写一个控制台应用程序,它在启动时连接到我的 Web 服务器,并且所有用户输入都被发送到每个换行符播放,并得到异步响应。以上所有内容都应该在单个连接上执行,即我不想在我发送到 Play 的每个请求上打开一个新连接(一个很好的模拟是 2 个进程通过 2 个管道进行通信)。
实现这一目标的最佳方法是什么?
是否有可能与仅通过http(使用单个http连接)与服务器通信的客户端实现?
编辑:
我目前对如何解决此问题的想法如下:
我可以定义一个新的BodyParser[Future[String]],它基本上是一个Iteratee[Array[Byte],Future[String]]。在解析发生时,我可以异步计算结果,并且操作可以在将来的 onComplete 方法中将结果作为 ChunkedResult 返回。
这听起来像是正确的方法吗?
关于如何实现这一目标的任何建议?
【问题讨论】:
标签: scala http playframework playframework-2.0