我是 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 。
编辑:它给了我错误:'=>'预期,')'找到
最佳答案
我仍然不确定这样做有什么好处,但我会尽力回答你的问题。
首先,这个 (objectName.socket(implict req:RequestHeader)
) 不是您调用带有隐式参数的方法的方式(而且您在隐式中也有拼写错误)。
但是正如您已经正确指出的那样,您需要一个隐式的 RequestHeader
,因此您只能在 Controller
的上下文中调用此方法。
def anotherControllerAction = objectName.socket
这基本上只是将 anotherControllerAction
指向套接字实现。然后您仍然需要将 anotherControllerAction
放入您的路由文件中。
您可能想更详细地描述您真正想要实现的目标
关于java - 在 Scala 中调用 WebSocket 中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38157611/