ajax – SCALA Lift – S.tram访问Comet Actor
发布时间:2020-12-16 03:07:42 所属栏目:百科 来源:网络整理
导读:我正在尝试检索CometActor中的url参数以验证数据源是否与目标匹配,例如用户从房间A发送消息,该消息应该仅在房间A中接收和显示,而不是在B或C中. 我试过了: S.param("message").openOr("") 但它总是空的,可以这样做吗?或者是否有另一种方法可以阻止彗星消息
我正在尝试检索CometActor中的url参数以验证数据源是否与目标匹配,例如用户从房间A发送消息,该消息应该仅在房间A中接收和显示,而不是在B或C中.
我试过了: S.param("message").openOr("") 但它总是空的,可以这样做吗?或者是否有另一种方法可以阻止彗星消息进入他们不应该去的地方? 在此先感谢任何帮助,非常感谢:)
CometActors存在于会话之外,因此无法访问(大部分)它.解决方案是使用包含所需会话数据的初始化消息初始化actor.可能会在LiftRules中使用某种帮助器来做到这一点.我在手机上并从记忆中重述这一点,但希望它足以继续下去.
具体来说,你将要做的事情如下: for ( session <- S.session message <- S.param("message") ) { session.setupComet("myCometActor",Some("unique name,if you want it"),message) } 在你的Boot.scala中. 查看 更新:如果我们发送一个包含以下内容的案例类,那么这就是您的CometActor的样子: // ... session.setupComet( "myCometActor",Message(message) ) // ... case class Message(text: String) class CometMessage extends CometActor { override def lowPriority = { case Message(text) => { // do something here with the text,whether settings a SessionVar or even just a plain var } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |