Почему по протоколу WebSocket серверу, написанному на си, приходит мусор, вместо отправляемых данных?
Реализую свой WS сервер на си. С браузера отправляю запрос на подключение, вводя в консоль браузера такой js код
let socket = new WebSocket("ws://localhost:8000/");
подключение проходит успешно, до этого этапа все нормально. Я хотел посмотреть, какие данные приходят от браузера, чтоб понять, в каком формате отправлять данные с сервера, но вместо отправленных мной
socket.send("12312");
приходит вот такая вот билеберда

Это вывод в консоль через \n.
Насколько я знаю, по протоколу веб соккет должны приходить определенные заголовки, где будет указываться информация о "кадре", к примеру, фрагментирован или нет, маскирован или нет и тд.
Подскажите почему так происходит и как это исправить?