找不到Basic Play 2.0 WebSocket请求标头



我正在尝试使用Play 2.0 websockets进行一个非常简单的概念验证。

以下是我现在正在做的事情:

  • 在我的控制器中定义WebSocket:
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
  • 在我的index.scala.html中的javascript中使用以下内容:

var sock = new WS("@routes.Application.wsrequest().webSocketURL()")

然而,当我尝试编译这个时,我得到了一个错误:


[info] Compiling 5 Scala sources and 1 Java source to targetscala-2.9.1classes...
[error] targetscala-2.9.1src_managedmainviewshtmlindex.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


我是不是少了一步?还是我在上面所做的事情上犯了错误?

您的模板需要一个隐式请求头,如下所示:

@(message: String)(implicit request: RequestHeader)

相关内容

  • 没有找到相关文章

最新更新