2015-12-17 3 views
0

Самый простой способ отправить вывод потока в веб-сокет в Playframework с помощью Scala.Play framework Как использовать вывод потоков akka на веб-сайт

Я хочу, чтобы WebSocket действовал как приемник потока. Например, источник генерирует случайное число, а затем переходит к раковине (Websocket), поэтому он пересылается клиенту.

Благодаря

ответ

1

Если вы говорите о новой интеграции потоков Akka в Play 2.5.x (все еще M2), то я думаю, что это должно выполняться как простой действительный поток, который представляет собой эхо-сервер (с прикосновением).

def socket = WebSocket.accept[String, String] { 
    request => 
     Flow[String] 
     .map(_ + " Back") 
    } 
0

«Самый простой» несколько субъективны, но вы могли бы рассмотреть экспериментальную поддержку реактивных потоков Play, как описано here.

Включите в проект проект библиотеки интеграции реактивных потоков.

libraryDependencies += "com.typesafe.play" %% "play-streams-experimental" % "2.4.4" 

Весь доступ к модулю осуществляется через объект Streams.

Вот пример, который адаптирует Будущее к одноэлементному издателю.

val fut: Future[Int] = Future { ... } 
val pubr: Publisher[Int] = Streams.futureToPublisher(fut) 

Для получения дополнительной информации см. API documentation объект Streams.