Використання Akka-Http і Akka-Streams версії 2.4, як я можу побудувати потік так, що він має раковину, яка є websocket.
Наприклад, я хотів би мати джерело, що генерує випадкові числа, ці цифри фільтруються, скажімо, тримайте парні числа, потім переходимо до WebSocket як раковину.
Дякую
Відповіді:
3 для відповіді № 1Цей код, введений у маршрут http http, буде виводити безперервний потік випадкових чисел без перевантаження веб-розетки
path("randomNums") {
val src =
Source.fromIterator(() => Iterator.continually(ThreadLocalRandom.current.nextInt()))
.filter(i => i > 0 && i % 2 == 0).map(i => TextMessage(i.toString))
extractUpgradeToWebsocket { upgrade =>
complete(upgrade.handleMessagesWithSinkSource(Sink.ignore, src))
}
}