我已經實現了Play框架的WebSocket
,以便使用WebSocket而不是Http執行服務器通信。我創建了一個函數WebSocket.using[JsValue]
。我的JSON響應存儲在Future[JsValue]
變量中,我試圖從Future[JsValue]
變量中獲取並返回json值。不過,我一直無法返回Future[JsValue]
變量的json數據。當我嘗試創建WebSocket功能爲WebSocket.using[Future[JsValue]]
時,在這種情況下,我無法爲其創建json FrameFormatter
。無法從播放2.4中的WebSocket返回未來[JsValue]中的json
def socketTest = WebSocket.using[JsValue] { request =>
val in = Iteratee.ignore[JsValue]
val out = Enumerator[JsValue](
Json.toJson(futureJsonVariable)
).andThen(Enumerator.eof)
(in, out)
}
futureJsonVariable
是Future[JsValue]
類型的變量在上面的代碼在運行時錯誤是No Json serializer found for type scala.concurrent.Future[play.api.libs.json.JsValue]. Try to implement an implicit Writes or Format for this type.
我怎樣才能返回使用Scala中的一個的WebSocket方法的JSON?如何使用Actor類實例來實現?如果有人在Play框架中知道WebSocket的最佳可用在線教程。任何幫助表示讚賞。
非常感謝您的幫助,它爲我工作,但我可以問你一件事情,如果你可以給我一點關於上述代碼的解釋,使用'Left'和'Right',並且讓你做了像你一樣將'in,out'映射到'Future'變量並直接將它們發送到'Right'? –