Веб-сокеты и двоичные данные - PullRequest
14 голосов
/ 29 июля 2011

Насколько я знаю, веб-сокеты поддерживают передачу двоичных данных. Исправлена ​​ошибка двоичной поддержки .

Итак, существуют ли серверы веб-сокетов, которые поддерживают передачу двоичных данных? Socket.io, похоже, упускает эту возможность. Может быть, есть другие?

Ответы [ 2 ]

6 голосов
/ 29 июля 2011

Поддержка двоичных данных на серверах WebSocket довольно тривиальна (на самом деле меньше работы, чем в UTF-8). Настоящая проблема - поддержка двоичных типов данных в браузере. Он работает над этим, но пока еще нет версий браузера, которые могли бы поддерживать отправку и получение двоичных типов (типизированные массивы, BLOB-объекты).

Если вам нужно отправить двоичные данные сейчас, прежде чем браузеры добавят поддержку, вы можете попробовать мой websockify python-сервер и клиентскую библиотеку Javascript. Он использует кодировку base64 для передачи двоичных данных по проводам. Вместо типизированных массивов / блобов он использует массивы чисел (0-255) для представления двоичных данных на стороне Javascript.

Некоторые ссылки:

1 голос
/ 28 августа 2011

Ниже приведено сравнение реализаций WebSockets (браузеров, клиентов, серверов), в которых имеется строка функций для «двоичных сообщений»:

http://en.wikipedia.org/wiki/Comparison_of_WebSocket_implementations

В настоящее время (16.09.2011)), браузеры, поддерживающие двоичные сообщения WS:

  • Chrome 15 или выше
  • IE10 (часть предварительного просмотра для Windows 8 для разработчиков)
  • Firefox 11 или выше

Подробные отчеты о тестировании и сравнение в браузере см .:

http://autobahn.ws/testsuite/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...