har*_*ish 6 scala chatroom websocket akka playframework
我正在尝试使用Play for Scala书中的Chat示例来学习如何使用WebSockets和Akka.
在本书中,有一个"ChatRoom"正在创建,并在Chat控制器中实例化,其内容非常简单:
val room = Akka.system.actorOf(Props [ChatRoom])
我想扩展此示例并提供多个聊天室而不是一个.用户可以提供字符串,该字符串可以是聊天室"名称",并且可以创建新的聊天室.任何试图加入这个聊天室的人都会互相分享广播,但不会与另一个聊天室的人分享广播.与IRC非常相似.
我的问题如下:
1:如果尚不存在具有唯一名称的ChatRoom,如何创建?2:如何检查现有的ChatRoom是否存在并获得对它的引用?
聊天室名称将通过URL或查询参数来实现,该部分将是微不足道的.我只是不完全确定如何唯一地识别Akka ChatRoom,然后通过名称检索该Actor.
您可以在 Akka 中命名演员,因此不必:
Akka.system.actorOf(Props[ChatRoom])
Run Code Online (Sandbox Code Playgroud)
你将会拥有:
Akka.system.actorOf(Props[ChatRoom],"room1")
Run Code Online (Sandbox Code Playgroud)
然后,根据您使用的 Akka 版本,使用 或Akka.system.actorFor("room1")
来Akka.system.actorSelection("room1")
获取所需聊天室的引用。
归档时间: |
|
查看次数: |
1269 次 |
最近记录: |