Как я могу получить dataType, когда Array вставлен в ArrayBuffer?
У меня есть массив:
var dataArray = new Uint16Array(256);
затем мой массив переходит через nodeJs на другой компьютер. (nodejs binaryType = "arraybuffer")
Как мне узнать на другом клиенте, что я должен привести к Uint16Array, а не к Uint8Array?
Примечание: глубина в битах и длина массива являются динамическим значением и могут изменяться во время работы программы.
Спасибо:)
1 ответ
Решение
При передаче данных как ArrayBuffer
это просто двоичные данные буфера, вам нужно знать, с каким представлением вы хотите получить доступ к данным. TypedArrays
просто взгляд на двоичный ArrayBuffer
,
Есть несколько способов справиться с этим:
- Используйте разные маршруты для отправки ваших данных
- Добавьте префикс байта к вашим данным
- И, возможно, лучшее решение, не меняйте тип данных в приложении. imho чистый интерфейс должен обрабатывать только один тип данных.