Question

J'utilise un point d'extrémité WebSocket exposé par mon contrôleur de cadre de jeu.Mon client envoie cependant un grand tableau d'octets et je suis un peu confus sur la façon de gérer cela dans mon iTARTE.Voici ce que j'ai:

def MyWsendpoint (F: String=> String)= Websocket.ASync [Array [octet]] { Demande=>

  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)
  }

}

Comme on peut le voir dans le code ci-dessus, je suis bloqué sur la ligne sur la manière de gérer le tableau d'octets comme une requête et envoie la réponse en tant que chaîne?Ma confusion est sur l'appel iTEREE.Foreach.Est-ce que cela concerne-t-il une forise sur le tableau d'octets ou l'ensemble du contenu de la demande que j'envoie en tant que tableau d'octets de mon client?C'est déroutant!

Toute suggestion?

Était-ce utile?

La solution

Eh bien ... cela dépend.Votre client envoie-t-il tous les fichiers binaires à la fois, ou est-ce que c'est (explicitement) chunk par morceau?

-> Si c'est tout à la fois, tout sera dans le premier morceau (donc pourquoi une bande Web? Pourquoi une itérale? Les actions avec Bodyparser seront probablement plus efficaces pour cela).

-> Si c'est chunk de Chunk, vous devez garder chaque morceau que vous recevez et les concaténer à proximité (à proximité, à moins que vous n'ayez une autre façon pour le client de dire: "Hey j'ai fini!"). "/ p>

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top