我正在尝试使用Play 2.0 websockets进行一个非常简单的概念验证。
这就是我现在正在做的事情:
def wsrequest = WebSocket.using[String] { request =>
// Send a single 'Hello!' message
val out = Enumerator("Hello!")
// Just consume and ignore the input
val in = Iteratee.consume[String]()
// tie the in and out values to each other
(in, out)
}
GET /wsrequest controllers.Application.wsrequest
var sock = new WS("@routes.Application.wsrequest().webSocketURL()")
然而,当我尝试编译时,我收到一个错误:
[info] Compiling 5 Scala sources and 1 Java source to target\scala-2.9.1\classes...
[error] target\scala-2.9.1\src_managed\main\views\html\index.template.scala:32: Cannot find any HTTP Request Header here
[error] Error occurred in an application involving default arguments.
[error] var sock = new WS(""""),_display_(Seq[Any](/*11.33*/routes/*11.39*/.Application.wsrequest().webSocketURL())),format.raw/*11.78*/("""")
[error] ^
[error] one error found
我错过了一步吗?或者我在上面所做的事情上犯了错误?
答案 0 :(得分:15)
您的模板需要一个隐式请求标头,如下所示:
@(message: String)(implicit request: RequestHeader)