Я попробовал пример чата с websocket в игровой среде 2.6.x.Работает нормально.Теперь для реального приложения мне нужно создать несколько чатов на основе пользовательских запросов.И пользователи смогут получить доступ к различным чаты с идентификатором или что-то.Я думаю, что это может быть связано с созданием нового потока для каждой комнаты.Связанный код здесь:
private val (chatSink, chatSource) = {
val source = MergeHub.source[WSMessage]
.log("source")
.map { msg =>
try {
val json = Json.parse(msg)
inputSanitizer.sanText((json \ "msg").as[String])
} catch {
case e: Exception => println(">>" + msg)
"Malfunction client"
}
}
.recoverWithRetries(-1, { case _: Exception ⇒ Source.empty })
val sink = BroadcastHub.sink[WSMessage]
source.toMat(sink)(Keep.both).run()
}
private val userFlow: Flow[WSMessage, WSMessage, _] = {
Flow.fromSinkAndSource(chatSink, chatSource)
}
Но я действительно не знаю, как создать новый поток с идентификатором и получить к нему доступ позже.Может ли кто-нибудь помочь мне в этом?