Socket.io: Nodejs socket.io erreur non gérée de websocket non gérée

Créé le 31 oct. 2018  ·  3Commentaires  ·  Source: socketio/socket.io

J'utilise la bibliothèque socket.io-stream pour transférer des fichiers entre 2 serveurs de nœuds.

Serveur A : (Envoyer le fichier)

```
var clientIO = require('socket.io-client');
var ss = require('socket.io-stream');

var clientSocket= clientIO( http://ServerB_Address );
clientSocket.on('error', (error) => {
console.log (erreur);
});

var stream = ss.createStream({objectMode : true});
ss(clientSocket).emit('send-file', stream, data);
var uploadedBytes = 0 ;
var de = 0 ;
var lecteur = fs.createReadStream(filePath, {start : from});
lecteur.pipe(flux)
.on('erreur', (erreur) => {
console.log (erreur);
})
.on('données', (morceau) => {
uploadedBytes += Buffer.byteLength(morceau);
});

Server B: (Receive File)

 ```
var fs = require('fs');
    var io = require('socket.io')(http);
    var ss = require('socket.io-stream');

    io.on('connection', (socket) => {
        // listen to send file
        ss(socket).on('send-mail', (stream, data) => {
            console.log(`*** Begin receive file`);

            var writer = fs.createWriteStream(downloadPath, {flags: 'a'});
            stream.pipe(writer);

            var size = 0;
            stream.on('data', (chunk) => {
                size += chunk.length;
                console.log(`*** Receive ${size} from mail`);
            });

            stream.on('end', () => {
                console.log(`*** End file`);
            });

            stream.on('error', (error) => {
                console.log(`*** Error when receiving file`);
                console.log(error);
            });
        });
    });

Cela fonctionne bien, mais lors du transfert de fichier si le deuxième serveur de nœud est arrêté, l'application de l'autre serveur s'est écrasée et un événement d'erreur non géré a été généré

stream-error

S'il vous plaît, quelqu'un peut-il me dire comment puis-je détecter cette erreur? Et s'il existe un meilleur moyen de transférer des fichiers entre les serveurs de nœuds ?

Commentaire le plus utile

N'utilisez pas socket.io ..., vous gagnerez du temps à long terme, regardez simplement les plus de 300 problèmes ouverts sans réponses ...
Le dernier commit significatif date d'il y a 6 mois...

Tous les 3 commentaires

Utilisez un écouteur d'événement pour l'événement "error". Ou utilisez une bibliothèque d'émetteurs d'événements purs

Comment utiliser l'écouteur d'événement pour l'erreur? Veuillez me donner un exemple, car j'enregistre une erreur pour le socket client.

N'utilisez pas socket.io ..., vous gagnerez du temps à long terme, regardez simplement les plus de 300 problèmes ouverts sans réponses ...
Le dernier commit significatif date d'il y a 6 mois...

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

MyMomSaysIAmSpecial picture MyMomSaysIAmSpecial  ·  4Commentaires

thebinarypenguin picture thebinarypenguin  ·  4Commentaires

varHarrie picture varHarrie  ·  3Commentaires

chfeizy picture chfeizy  ·  3Commentaires

Aweather picture Aweather  ·  4Commentaires