Comment envoyer arraybuffer que les binaires via Websocket?
Je suis en train de travailler sur un projet avec Mozilla Europe. Dans ce projet, j'utilise websocket par Worlize (côté serveur) et Mozilla (côté client), Node.js essayer de télécharger des fichiers à partir d'un client à un serveur.
Mon objectif est d'envoyer un arraybuffer
du fichier sur le serveur. Créer le arraybuffer et de l'envoyer, il est très bien.
Mais mon serveur me dit que arraybuffer
est une utf8 message et pas un message binaire.
Faire j'ai mal compris quelque chose? Si non, comment puis-je corriger cela?
Côté Client:
reader = new FileReader();
reader.readAsArrayBuffer(file);
reader.onload = function(e) {
connection.send(e.target.result);
};
Côté serveur:
ws.on('message', function(message,flags) {
if (!flags.binary) {
//some code
}
else {
console.log('It\'s a binary');
}
J'ai essayer avec Blob
trop, même résultat. Le binaire de la partie est invisible.
- C'est un Q&Un site, "de la fourche et de participer" n'arrivera pas ici (voir la section stackoverflow.com/faq). Aussi, s'il vous plaît ne demandez pas aux gens de creuser par le biais de votre code - inclure le code minimal nécessaire pour expliquer exactement ce que vous êtes en train de faire.
- Je réalise que cela a été demandé il y a quelques temps donc, après avoir dit que je veux juste ajouter que Firefox 11 et suivants de soutien binaire ArrayBuffer et Blob.
Vous devez vous connecter pour publier un commentaire.
Gecko11.0 ArrayBuffer envoyer et recevoir de l'aide pour des données binaires a été mis en œuvre.
l'envoi de données Binaires:
Réception De Données Binaires:
Source: https://developer.mozilla.org/en/WebSockets/Writing_WebSocket_client_applications