我在播放框架网络套接字中全新。 我从https://github.com/playframework/playframework/tree/master/samples/scala/websocket-chat
下载了聊天应用程序我正在学习项目中的通知。但问题是我没有理解代码的行为。比如下面的代码,我想设置twill收到msg的成员
previusly members
包含聊天室中用户的所有用户名,我修改它并将其设置为只有一个用户“govind”,但仍然所有成员都在通知,
我只想通知一些用户
def notifyAll(kind: String, user: String, text: String) {
members=Set.empty[String]+"govind"
val msg = JsObject(
Seq(
"kind" -> JsString(kind),
"user" -> JsString(user),
"message" -> JsString(text),
"members" -> JsArray(
members.toList.map(JsString)
)
)
)
chatChannel.push(msg)
}
以及它的作用
sender ! Connected(chatEnumerator)
self ! NotifyJoin(username)
答案 0 :(得分:0)
查看play.api.libs.iteratee.Concurrent以查找除广播之外的其他选项(一对多)。您可能希望阅读迭代器和演员,以了解最适合您的用例。
詹姆斯·罗珀写了一篇关于迭代的博客文章,你可以在这里找到: http://jazzy.id.au/default/2012/11/06/iteratees_for_imperative_programmers.html
Akka文档有助于了解演员的方式和内容: http://doc.akka.io/docs/akka/2.3.1/intro/what-is-akka.html
另外,如果你是Play的新手,那么你应该投入一些时间来掌握基础知识,然后再进入更高级的东西,比如迭代。