EDIT
Я нашел это:Распаковать структуру C в браузере?
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays
В принципе, если у меня есть что-то вроде этого:
struct someStruct {
unsigned long id;
char username[16];
float amountDue;
};
на стороне клиента, я могу сделать:
var ws = new WebSocket("ws://URI");
ws.binaryType = "arraybuffer";
ws.onmessage = function (e) {
var buffer = e.data;
var data_view = new DataView(buffer);
// ... read the data into the buffer ...
var idView = data_view.getUint32(0);
var usernameView = data_view.getUint32(4);
var amountDueView = data_view.getFloat32(20);
};
В проблема в том, что я хочу конвертировать t их к нормальным объектам Javascript (номера, строки и т. д.).
Оригинальный вопрос
Я бы отправить данные через WebSocket упакованные с использованием C-структуру, и распаковать в браузере с помощью Javascript.
Я знаю, что модули существуют для node.js, но я не могу найти ничего на стороне клиента.
Вам нужны две вещи: во-первых, формат сериализации. Во-вторых, код для конвертирования в и из этого формата сериализации для каждой интересующей вас платформы. Вы можете использовать текст, XML, JSON, какой-то двоичный код или что-то другое для вашего случая использования. JSON, вероятно, является хорошим выбором в большинстве случаев. –
Нет JSON, я хочу бинарный формат. –
Являются ли клиент и сервер на одной физической машине? –