https://learn.javascript.ru/websockets читал тут как это делается, но не совсем понял каким образом надо накладывать.
Брать по 4 байта и прогонять их? Или как-то иначе?
С браузером все ясно. Но я её на сервере должен как-то создать при условии, что пишу протокол сам.
Это не код клиента, это код бекенда. Я поэтому и спрашиваю Вас: что у Вас на бекенде?
Для node.js в статье даже есть рабочий пример, который можно скачать: websocket.zip