Перевод данных 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; }