0
我正在使用我的Play Framework控制器公开的WebSocket端点。然而,我的客户端会发送一个大的字节数组,我对如何在我的Iteratee中处理这个问题感到困惑。以下是我有:播放框架WebSocket异步
DEF myWSEndPoint(F:字符串=>字符串)= WebSocket.async [阵列[字节]] { 请求=>
Akka.future {
val (out, chan) = Concurrent.broadcast[Array[Byte]]
val in: Iteratee[Array[Byte], Unit] = Iteratee.foreach[Array[Byte]] {
// How do I get the entire file?
}
(null, null)
}
}
,因为它可以在上面的代码中可以看到,我在关于如何将Byte数组作为一个请求处理并将响应作为字符串发送回来方面行不通?我的困惑在于Iteratee.foreach电话。这是foreach foreach上的字节数组或从我的客户端发送的字节数组的请求的全部内容?这很混乱!
有什么建议吗?
对我而言,我已经有了另一个端点设置,它是我的播放控制器中的普通HTTP端点,我使用HTTP Post将字节数组发送到服务器。但唯一的区别是,对于WebSocket端点,我可以使用HTTP GET而不是POST。如果我使用GET,我不能在BodyParser中使用Actions。我考虑使用WebSocket的主要原因是使用GET请求而不是POST请求 – sparkr