Добрый день, уважаемое сообщество,
Я работаю над сетевым проектом, в котором я получаю данные через сокет UDP от программного обеспечения, называемого VDMX, и пытаюсь проанализировать вышеупомянутые типы данных из буфера.
В моем приложении node.js я получаю значения со следующим клиентом сокетов без проблем:
const dgram = require('dgram');
const server = dgram.createSocket('udp4');
server.on('error', (err) => {
console.log(`server error:\n${err.stack}`);
server.close();
});
server.on('message', (msg, rinfo) => {
console.log(msg.toString());
});
server.on('listening', () => {
const address = server.address();
console.log(`server listening ${address.address}:${address.port}`);
});
server.bind(1235);
Однако данные, полученные из программного обеспечения, я не уверен, как проанализировать необходимую частьиз данных, отправленных в виде строки / буфера.
В каждой отправляемой информации есть информация о префиксе информации OSC в данных, отправляемых как '/ lux' по умолчанию.Когда я выбираю разные типы данных, вот что я получаю в консоли Node.js:
Если я выбираю float:
/lux,fB�F�
/lux,fB��
/lux,fB�ɘ
/lux,fB��
Если я выбираю double:
/lux,d@L ��ϑL
/lux,d@L��S�
�|�x,d@K�f
/lux,d@K�Y�)�
Если я выберу 64-разрядное целое число:
/lux,h1
/lux,h0
/lux,h/
/lux,h.
Я был бы очень признателен, если бы вы могли подсказать мне, как получить значения из этих буферов.Заранее большое спасибо!