播放2 Scala为一个Websocket输出Iteratee提供了几个枚举器(PatchPannel?)

ata*_*ino 2 scala websocket playframework iterate

我想逐步向几个枚举器提供WebSocket输出Iteratee(例如,当我通过Websocket输入iteratee收到特定事件时,我想在输出Iteratee中添加一个特定的枚举器).

如果我是对的,如果我只是(in,out)在Websocket函数参数的末尾返回这是不可能的,因为out已经是一个不可变的枚举器:

WebSocket.using[JsValue] { request =>
    val in: Iteratee[JsValue,Unit] = ...
    val out: Enumerator[JsValue] = ...

    (in, out)
}
Run Code Online (Sandbox Code Playgroud)

我认为Concurrent.PatchPannel是我正在寻找的,但我无法理解如何使用它.有没有人有使用Concurrent.PatchPannel的例子?(如果这确实是我正在寻找的).

谢谢

ata*_*ino 5

我终于找到了解决方案.

编辑:请参阅我的博客文章中的"混合子流"部分:http://atamborrino.github.io/play/2013/12/25/play-framework-websocket.html