Domanda

Stavo leggendo attraverso la specificazione e molti esempi di utilizzo di WebSockets. Quasi tutti parlano di UTF-8 o il trasferimento di messaggi ASCII utilizzando WebSockets.

L'ultima Hybi websocket spec richiesto il supporto per il trasferimento binario. REQ 6 in hybi spec

Inoltre ho letto da qualche parte che Chrome supporta hybi. Ma ultima versione Chrome 7.0 funziona solo quando progetto-hixie è selezionato in pywebsocket config.

La qualsiasi browser hanno il supporto per spec hybi? Anche se è dev, il suo ok.

È stato utile?

Soluzione

Può essere un po 'prima non UTF-8 (cioè binario) codifica è supportato in WebSockets.

Io suggerisco di usare base64 codifica / decodifica sul client e server. Tutti i browser con WebSockets sostenere avere window.atob (base64 decodifica) e window.btoa (base64 codifica). La maggior parte delle lingue che si potrebbe scrivere un server WebSockets in base64 hanno librerie (vale a dire base64 modulo python).

Se si vogliono trasferire i dati binari si potrebbe essere interessante in wsproxy incluso con noVNC che è un web based client VNC. wsproxy (c'è una versione C e pitone) è una WebSockets per delega generico TCP socket. Si base64 codifica / decodifica tutto il traffico da / per il browser. Si può usare per connettersi da un WebSockets browser che permetta a qualsiasi tipo di porta TCP.

Nota, noVNC dispone di un'implementazione JavaScript di base64 codifica / decodifica perché la fede o no, la versione JavaScript è leggermente più veloce rispetto atob / btoa.

. Disclaimer: Ho creato noVNC

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top