nodejs - websockets html5 ejemplos
websocket para transferencia binaria de datos y decodificación (1)
Estaba leyendo la especificación y muchos ejemplos sobre el uso de websockets. Casi todos hablan sobre la transferencia de mensajes UTF-8 o ascii usando websockets.
La última especificación de websocket de Hybi solicitó asistencia para la transferencia binaria. REQ 6 en la especificación hybi
También leí en algún lado que Chrome admite hybi. Pero la última versión de Chrome 7.0 funciona solo cuando se selecciona draft-hixie en la configuración de pywebsocket.
¿Algún navegador tiene soporte para hybi spec? Incluso si es dev, está bien.
Puede pasar un tiempo antes de que la codificación no UTF-8 (es decir, binaria) sea compatible con WebSockets.
Sugiero usar codificación / decodificación base64 en el cliente y el servidor. Todos los navegadores compatibles con WebSockets tienen window.atob (decodificación base64) y window.btoa (codificación base64). La mayoría de los idiomas en los que puede escribir un servidor WebSockets tienen bibliotecas base64 (es decir, módulo base64 en python).
Si quiere transferir datos binarios, puede ser interesante que wsproxy esté incluido con noVNC, que es un cliente VNC basado en la web. wsproxy (hay una versión de C y python) es un WebSockets al proxy genérico de sockets TCP. Base64 codifica / decodifica todo el tráfico hacia / desde el navegador. Puede usarlo para conectarse desde un navegador compatible con WebSockets a cualquier tipo de puerto TCP.
Tenga en cuenta que noVNC tiene una implementación de JavaScript de codificación / decodificación base64 porque, lo creas o no, la versión de Javascript es ligeramente más rápida que atob / btoa.
Descargo de responsabilidad: he creado noVNC.