It must be >= 0 and <= 255. Received 9605
говорит мне, что вы пытаетесь записать в байт с десятичным числом 9605, что невозможно.
В вашем коде у вас есть sizeBuffer.writeUInt8(dataBuffer.length + 1);
, что доказывает, что вы пытаетесь записать байт.
Но я не думаю, что вы понимаете, сколько данных может содержать байт.Смотрите: 
Как видите, 9605
слишком велико для uint8
/ unsigned char
[0-255].
Iможет предложить:
sizeBuffer.writeUInt16LE(dataBuffer.length + 1);
Поскольку unsigned short
может вместить до 65535, что достаточно для вашей длины пакета 9605
.
Это должно исправить ошибку, но вы также можете захотетьпроверить читателя на наличие короткого беззнакового байта вместо беззнакового байта ИЛИ Иначе ваш читатель также сломает .