Перевод данных Buffer в JSON

Доброго времени суток.

Изобрёл велосипед для передачи данных между сервером с белым IP и своим компьютером, теперь надеюсь на вашу помощь)

У меня есть два приложения, которые обмениваются через сокет ( использую стандартный net модуль ) данными в JSON формате.

Короткие строки передаются без проблем, однако при передаче информации в формате { clientId: ...type: "data", data: [1,2,3,...] }, где data - информация от стороннего приложения, Buffer.toString() получается слишком длинным, из-за чего я не могу перевести данные обратно в объект через JSON.parse().

Подскажите, каким образом я могу решить данную проблему, не меняя всю структуру?

UPD1:

Код серверной части:

await this.socket.write(JSON.stringify({
    id, type: "data", data: data.toJSON().data
}));

Пример data - данные RDP подключения.

Код клиентской части:

server.on("data", async (data) => {
    data = JSON.parse(data.toString());
    
    ...
}    

UPD2: Исходя из того, что информация доходит полная, но в разных чанках, написал костыль, подающий признаки жизни, о работоспособности в целом и с множеством клиентов позже отпишусь.

this.buffer += data.toString();

try {
    data = JSON.parse(this.buffer);
    this.buffer = "";
} catch (e) { return; }

Ответы (0 шт):