我是scala,Play框架和Akka的新手。我的函数定义为
def socket = WebSocket.accept[String, String] { request =>
ActorFlow.actorRef(out => MyWebSocketActor.props(out))
}
我想从其他班级打电话。我不清楚如何调用此功能,我不能通过
来调用objectName.socket(implict req:RequestHeader)
我在Play 2.5.3,Scala 2.11.7和Akka 2.4.7中工作。
修改:它给了我错误:'=>' expected, ')' found
答案 0 :(得分:1)
我仍然不确定,这会带来什么好处,但我会尽力回答你的问题。
首先,这个(objectName.socket(implict req:RequestHeader)
)不是你用隐式参数调用方法的方式(你也有隐含的拼写错误)。
但正如您已经正确指出的那样,您需要一个隐式RequestHeader
,因此您只能在Controller
的上下文中调用此方法。
def anotherControllerAction = objectName.socket
这基本上只是将anotherControllerAction
指向套接字实现。然后你仍然需要将anotherControllerAction
放入你的路线文件中。
您可能希望更详细地描述您实际想要实现的目标