Ответ 1
Поддержка двоичных данных на серверах WebSocket довольно тривиальна (меньше работы, чем UTF-8). Реальная проблема заключается в поддержке двоичных типов данных в браузере. Он работает, но пока еще нет версий браузера, которые могут поддерживать отправку и получение двоичных типов (типизированные массивы, капли).
Если вам нужно отправить бинарные данные прямо перед тем, как браузер добавит поддержку, вы можете попробовать мой websockify сервер python и клиентскую библиотеку Javascript. Он использует кодировку base64 для передачи двоичных данных по проводу. Вместо типизированных массивов /blobs он использует массивы чисел (0-255) для представления двоичных данных на стороне Javascript.
Некоторые ссылки:
- Ошибка Mozilla # 666349
- Ошибка WebKit # 65249 (теперь все части поддержки двоичных данных исправлены)
- W3C WebSockets API
- Протокол IETF HyBi WebSockets v10