Frage

Ich lese über die Spezifikation und viele Beispiele über die Nutzung von WebSockets. Fast alle von ihnen sprechen über UTF-8 oder ascii Nachrichtenübertragung mit WebSockets.

Das neueste Hybi websocket spec angeforderte Unterstützung für binäre Übertragung. REQ 6 in Hybi spec

Auch habe ich irgendwo gelesen, dass Chrome unterstützt Hybi. Aber neueste Version Chrome 7.0 funktioniert nur, wenn draft-Hixie wird in pywebsocket ausgewählt Konfig.

Hat jeder Browser-Unterstützung für Hybi spec? Auch wenn es Entwickler, es ist ok.

War es hilfreich?

Lösung

Es kann eine Weile, bevor nicht-UTF-8 (d.h. binär) Codierung in WebSockets unterstützt wird.

Ich schlage vor, mit Base64 Encoder / Decoder auf dem Client und Server. Alle Browser mit WebSockets unterstützen haben window.atob (Base64 dekodieren) und window.btoa (base64 kodieren). Die meisten Sprachen, die Sie vielleicht einen WebSockets Server schreiben in base64-Bibliotheken (das heißt base64-Modul in Python).

Wenn Sie binäre Daten übertragen wollen, sind könnten Sie in wsproxy interessant enthalten mit noVNC was ein webbasiertes VNC-Client. wsproxy (es gibt eine C und Python-Version) ist ein WebSockets zu generischer Proxy-Sockets TCP. Es Base64 codiert / decodiert den gesamten Datenverkehr zum / vom Browser. Sie können es verwenden, um von einem WebSockets-fähigen Browser auf jede Art von TCP-Port zu verbinden.

Beachten Sie, noVNC hat eine Javascript Implementierung von Base64 Encoder / Decoder, weil Glaube es oder nicht, die Javascript-Version ist etwas schneller als atob / btoa.

Disclaimer:. Ich habe noVNC

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top