Play Framework Websocket Async
-
21-12-2019 - |
Вопрос
Я использую конечную точку Websocket, выставленную My Play Framework Controller.Однако мой клиент отправит большой байтовый массив, и я немного запутался, как справиться с этим в моем итерации.Вот что у меня есть:
def mywsendpoint (f: string=> string)= WebSocket.Async [Array [Byte]] { Запрос=>
Akka.future {
val (out, chan) = Concurrent.broadcast[Array[Byte]]
val in: Iteratee[Array[Byte], Unit] = Iteratee.foreach[Array[Byte]] {
// How do I get the entire file?
}
(null, null)
}
.
}
Как это можно увидеть в коде выше, я застрял в строке о том, как обрабатывать массив байтов в качестве одного запроса и отправить ответ в виде строки?Моя путаница находится на итерации. Зазвонить.Является ли этот Foreach Foreach на байтовом массиве или на весь контент запроса, который я отправляю в качестве байтового массива от моего клиента?Это запутано!
Любые предложения?
Решение
Ну ... это зависит.Ваш клиент отправляет все двоичные файлы одновременно или это (явно) кусок кусочкой?
-> Если это все сразу, то все будет в первом кусочке (поэтому, почему Websocket? Почему итера? Действия с BodyParser, вероятно, будут более эффективными для этого).
./ P >.