gpt4 book ai didi

scala - 如何在 Scala 中使用 websockets 创建多个聊天室?

转载 作者:行者123 更新时间:2023-12-04 15:44:24 24 4
gpt4 key购买 nike

我正在尝试使用 Play for Scala 书中的聊天示例来学习如何使用 WebSockets 和 Akka。

在书中,创建了一个“ChatRoom”,它在 Chat Controller 中实例化,如下所示:

val room = Akka.system.actorOf(Props[ChatRoom])

我想扩展这个例子,有多个聊天室可用,而不是只有一个。用户可以提供一个字符串,它可以是一个聊天室“名称”,这将创建一个新的聊天室。任何试图加入此聊天室的人都会相互分享广播,但不会与另一个聊天室中的人分享。非常类似于IRC。

我的问题如下:

1:如果聊天室不存在,我如何创建一个具有唯一名称的聊天室?
2:我如何检查现有的聊天室是否存在并获得对它的引用?

聊天室名称将来自 URL 或查询参数,这部分将是微不足道的。我只是不完全确定如何唯一标识 Akka ChatRoom 并稍后按名称检索该 Actor。

最佳答案

您可以在 Akka 中命名 Actor ,而不是:

Akka.system.actorOf(Props[ChatRoom])

你将会拥有:
Akka.system.actorOf(Props[ChatRoom],"room1")

然后,根据您使用的 Akka 版本,使用 Akka.system.actorFor("room1")Akka.system.actorSelection("room1")获得通缉聊天室的引用。

关于scala - 如何在 Scala 中使用 websockets 创建多个聊天室?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22834311/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com