Java 修改webSocket方法以返回actor ref
我有一个这样的函数Java 修改webSocket方法以返回actor ref,java,scala,playframework,websocket,akka,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
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 */
}
我在游戏2.5.3和Akka 2.4.7中工作。
如何修改上述方法以返回actor引用,即out?
ActorFlow
提供了由actor处理的流。它仍然为浏览器连接的实例提供uactorref
。
您可以使用下面的示例获取actor ref,这是更好的方法。虽然actorflowmaterlizer
在play框架中是隐式使用的
不需要使用ActorFlow
getactorref
不清楚。请清除您的方法。@AniketPandey您可以使用上面的代码返回'out'作为ActorRef的意思是'def socket=WebSocket.accept[JsValue,JsValue]{request=>out=>SocketHandlerClass.props(out,postActor)(out)}`@AniketPandey是的,但是为什么要返回呢?如果要使用out,请在SocketHandlerClass下创建一个hashmap,如,val connection=new Hashmap[String,ActorRef]并使用SocketHandlerClass.connection.push(“->”out)不要用不同的标题问同一个问题也请阅读问题。你怎么知道这是那个的复制品。答案是一样的吗?想想看。
def socket = WebSocket.acceptWithActor[JsValue, JsValue] { request =>out=> SocketHandlerClass.props(out,postActor)
// no need to return out
}