Я пытаюсь отправить файлы клиенту клиенту, но получаю ошибку:
Ошибка сервера:
TypeError: Invalid non-string/buffer chunk
at chunkInvalid (_stream_readable.js:285:10)
at readableAddChunk (_stream_readable.js:224:12)
at IOStream.Readable.push (_stream_readable.js:208:10)
Ошибка клиента:
socket.io-stream.js:6748 Uncaught TypeError: Cannot read property '_read' of null
МойКод:
Sender
function SendFile(){
var stream = ss.createStream();
var write = fs.createWriteStream('./teste/profile.png');
stream.pipe(write);
var size = 0;
stream.on('data', function(chunk) {
console.log('chunky chunky');
size += chunk.length;
var percent = Math.floor((size / data.size) * 100);
console.log(percent);
});
stream.on('end', function() {
console.info('ending');
ss(Fsocket).emit('SendFile', stream);
});
stream.on('finish', function() {
console.info('Finish !');
});
stream.on('error', function(err) {
console.error('error');
});
stream.on('pause', function() {
console.log('pause');
});
}
Receiver
function ReciveFrame(){
ss(Fsocket).on('RecieveFile', function(stream, data) {
console.log('Recebi')
var filename = path.basename(data.name);
stream.pipe(fs.createWriteStream(filename));
});
}
Server
io.of('/transfer').on('connection', function (socket) {
ss(socket).on('SendFile', function (stream, data) {
const _stream = ss.createStream();
ss(socket).emit('RecieveFile', _stream, data);
stream.pipe(_stream);
stream.on('data', function (chunk) {
console.log('chunky chunky');
size += chunk.length;
var percent = Math.floor((size / data.size) * 100);
updateProgress(percent);
});
stream.on('end', function () {
console.info('ending');
});
stream.on('finish', function () {
console.info('Finish !');
});
stream.on('error', function (err) {
console.log(err)
console.error('error');
});
stream.on('pause', function () {
console.log('pause');
});
});
});
Как я могу решить эту проблему?