Я пытаюсь закодировать демонстрацию многопользовательской игры на javascipt без библиотек. Все идет довольно хорошо, но для повышения производительности и продвижения вперед мне придется попытаться свести к минимуму данные, которые я отправляю через свои веб-узлы, иначе я не смогу много сделать. Я думал о том, как лучше всего это сделать. Я использую Node.JS + Express + Socket.IO.

Сначала я отправлял состояние клавиатуры всех клавиш от каждого клиента на сервер и быстро сузил его до истинных / ложных значений только для клавиш, которые я использовал. Но теперь я думаю, что мне действительно нужно делать что-то вроде присвоения десятичных буквальных значений (0, 1, 3, 4) каждому возможному входу state , которые разрешены (возможные комбинации входов), и просто отправлять это значение для сервера.

У меня больше опыта работы со статически типизированными языками, такими как C ++, Java и т. Д., Поэтому я знаю, как бы это сделать на этих языках. Но в основном я хочу знать, есть ли у меня небольшое количество возможных состояний ввода. Как лучше всего отправить эти данные, используя javascript на обоих концах. Он перейдет в объект JSON. Могу ли я отправить хоть один байт?

1
Cory Gross 16 Авг 2012 в 04:18
2
С помощью битовой маскировки вы можете хранить 8 логических значений в 1 байте.
 – 
Farzher
16 Авг 2012 в 04:23
so I know how I would do this in those languages как бы вы это сделали на Java или C ++?
 – 
jcolebrand
16 Авг 2012 в 04:30
В C ++ или java я бы, вероятно, просто согласился посылать 1 байт для каждого состояния ввода.
 – 
Cory Gross
16 Авг 2012 в 04:37

1 ответ

Лучший ответ

https://gist.github.com/1437195 Не знаю, работает ли это, но это может быть наиболее оптимизированное решение . Я никогда не играл с byteArray. Понятия не имею, хорошо ли они работают с socket.io.

1
3on 16 Авг 2012 в 04:25
Похоже, что это определенно сработает с моей настройкой, я мог бы попробовать это, но, вероятно, протестирую его против решения, предложенного в комментариях выше, теперь, когда я прочитал об операторах битовой маскировки в javascript. Спасибо.
 – 
Cory Gross
16 Авг 2012 в 04:45