SocketIO - не распаковывать сообщение на сервере - PullRequest
0 голосов
/ 24 марта 2020

Я использую SocketIO, чтобы получить некоторые данные от пользователя и сохранить их на будущее. Для этого я получаю сообщение, сжимаю его и сохраняю в таком файле:

socket.on('eventsSave', function(msg) {
    console.log(msg.data);

    fs.appendFile('tmp/' + metadata.uniqueId, gzip(msg), function(err) {
        if(err) {
            return console.log(err);
        }
        else {
            return console.log('tmp/' + metadata.uniqueId);
        }
    });
});

Все работает нормально, но я думаю, что это неоптимально, поскольку для этого поток сообщений выглядит следующим образом:

  • пользователь что-то делает
  • сообщение отправляется на сервер и отправляется на сервер
  • сообщение извлекается, читается и сохраняется для использования в переменной msg
  • сообщение повторно распаковывается и сохраняется в файле

Поскольку вы можете видеть, что сообщение разархивировано и повторно распаковано без причины, я хотел бы сохранить исходное сообщение напрямую, возможно ли это?

Также, если это возможно, будет ли это угрозой безопасности? (Я думаю, что кто-то отправляет двоичный файл как сообщение).

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