我有一个网页来提交长时间运行的工作。提交作业将提供指向详细作业视图的链接,其中包含运行作业时发生的日志消息。我不想在没有重新加载页面的情况下显示消息。
因此我使用JavaScript和相应的路由创建WebSocket连接。我的想法是使用actors(akka)将消息从服务器端传递到客户端。
如何使用scala 2.11并播放2.3.4?
最好的问候!答案 0 :(得分:1)
您可以在此处获得详细说明:https://www.playframework.com/documentation/2.3.x/ScalaWebSockets
以下是基于您的要求的粗略描述
首先使用 WebSocket.acceptWithActor
创建一个动作case class MyMessage(s: String)
def socket = WebSocket.acceptWithActor[MyMessage, JsValue] { request => out =>
MyWebSocketActor.props(out)
}
object MyWebSocketActor {
def props(out: ActorRef) = Props(new MyWebSocketActor(out))
}
class MyWebSocketActor(out: ActorRef) extends Actor {
def receive = {
case msg: MyMessage =>
out ! Json.toJson(msg)
}