Может пройти некоторое время, прежде чем кодирование не-UTF-8 (т.е. двоичное) будет поддерживаться в WebSockets.
Я предлагаю использовать кодирование / декодирование base64 на клиенте и сервере.Все браузеры с поддержкой WebSockets имеют window.atob (декодирование base64) и window.btoa (кодирование base64).Большинство языков, на которых вы можете написать сервер WebSockets, имеют библиотеки base64 (т.е. модуль base64 в python).
Если вы хотите передавать двоичные данные, вас может заинтересовать wsproxy, включенный в noVNC , которыйвеб-клиент VNCwsproxy (существует версия на C и python) - это WebSockets для общего прокси TCP-сокета.Он base64 кодирует / декодирует весь трафик в / из браузера.Вы можете использовать его для подключения браузера с поддержкой WebSockets к любому типу TCP-порта.
Обратите внимание, что noVNC имеет реализацию Javascript для кодирования / декодирования base64, потому что, верьте этому или нет, версия Javascript немного быстрее, чем atob/btoa.
Отказ от ответственности: я создал noVNC.