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