【问题标题】:Calling a method in play WebSocket in Scala在 Scala 中调用 Play WebSocket 中的方法
【发布时间】:2016-07-02 07:20:41
【问题描述】:

我是 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

【问题讨论】:

  • 为什么要调用该方法?它应该进入应用程序的路由文件。
  • 我想把它做成一个api,这样我就可以从其他新项目中调用它来接受连接。

标签: java scala playframework akka


【解决方案1】:

我仍然不确定,这样做有什么好处,但我会尽力回答您的问题。

首先,这 (objectName.socket(implict req:RequestHeader)) 不是您调用具有隐式参数的方法的方式(您在隐式中也有错字)。

但正如您已经正确指出的那样,您需要一个隐式 RequestHeader,因此您只能在 Controller 的上下文中调用此方法。

def anotherControllerAction = objectName.socket

这基本上只是将anotherControllerAction 指向套接字实现。然后你仍然需要将anotherControllerAction 放入你的路由文件中。

您可能想要更详细地描述您真正想要实现的目标

【讨论】:

    猜你喜欢
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多