我正在尝试使用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 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
我错过了一步吗?还是我以前做过的错误?
解决方法
您的模板需要一个隐式请求标头,如下所示:
@(message: String)(implicit request: RequestHeader)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。