Как получить сообщение от клиента веб-сокета Akka Http? - PullRequest
0 голосов
/ 18 мая 2018

В настоящее время мы используем это для отправки сообщения Клиенту

Flow[Message]
  .mapConcat(_ ⇒ Seq.empty[String].toList)
  .merge(source) // Stream the data we want to the client
  .map(data => TextMessage(data))

val source = Source.fromFuture(data).throttle(1, 1.second, 1, ThrottleMode.Shaping).runWith(Sink.ignore)

Теперь я хочу получить ответ от Клиента и ответить соответствующим образом.Как мне это сделать?

1 Ответ

0 голосов
/ 13 июня 2018

Ваш поток WS в настоящее время игнорирует входящее сообщение.mapConcat должно соответствовать входящему TextMessage или BinaryMessage и отвечать соответственно

Flow[Message].mapConcat {
  case tm: TextMessage => TextMessage(Source.single("Hello ") ++ tm.textStream ++ Source.single("!")) :: Nil
  case bm: BinaryMessage =>
    bm.dataStream.runWith(Sink.ignore) // ignore binary message but drain content
    Nil
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...