Вопрос

Я использую конечную точку 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 >.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top