但是正如您已经正确指出的那样,您需要一个隐式的 RequestHeader,因此您只能在 Controller 的上下文中调用此方法.def anotherControllerAction = objectName.socket这基本上只是将 anotherControllerAction 指向套接字实现.然后你仍然需要将 anotherControllerAction 放入你的路由文件中.您可能想要更详细地描述您真正想要实现的目标I am new to scala, Play framework and Akka. I have function defined asdef socket = WebSocket.accept[String, String] { request => ActorFlow.actorRef(out => MyWebSocketActor.props(out)) }This i want to call from other class .I am not clear how to call this function as, i can't call this byobjectName.socket(implict req:RequestHeader)I am working in Play 2.5.3 , Scala 2.11.7 and Akka 2.4.7 .Edit: it gives me error : '=>' expected, ')' found 解决方案 I'm still not sure, what the benefit of that would be, but I'll try to answer your question.First of all, this (objectName.socket(implict req:RequestHeader)) ist not how you call a method with an implicit parameter (also you have a typo there in implicit).But as you already pointed out correctly, you need an implicit RequestHeader, so you only can call this method within the context of a Controller.def anotherControllerAction = objectName.socketThat would basically just point anotherControllerAction to the socket implementation. Then you still need to put anotherControllerAction into your routes file.You might want to describe in more detail, what you actually want to achieve 这篇关于在 Scala 中调用播放 WebSocket 中的方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-06 10:26