修改webSocket方法以返回actor ref

时间:2016-07-04 07:30:50

标签: java scala playframework websocket akka

我有这样的功能

def socket = WebSocket.accept[JsValue, JsValue] { request =>

    homelogger.info(logMessages.connectionEstablished)

    ActorFlow.actorRef(out => SocketHandlerClass.props(out,postActor))

    /* out is an actor-ref for a particular connection to send messages back */


  }

我在Play 2.5.3和Akka 2.4.7中工作。 如何修改上述方法以返回actor引用,即out?

1 个答案:

答案 0 :(得分:0)

ActorFlow是提供由actor处理的流。它仍为浏览器连接的实例提供u actorref。 你可以使用下面的例子来获得actor ref,这是更好的方法。虽然在游戏框架中隐式使用actorflowmaterlizer

  

不需要使用ActorFlow获取actorref

 def socket = WebSocket.acceptWithActor[JsValue, JsValue] { request =>out=>  SocketHandlerClass.props(out,postActor)
// no need to return out
      }