Uncaught TypeError: Невозможно прочитать свойство '_read' для null - socket.io-stream - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь отправить файлы клиенту клиенту, но получаю ошибку:

Ошибка сервера:

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

        });
      });

Как я могу решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...