html5 – 用于数据和解码的二进制传输的websocket

前端之家收集整理的这篇文章主要介绍了html5 – 用于数据和解码的二进制传输的websocket前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在阅读有关使用Websockets的规范和许多示例.几乎所有的人都谈论使用Websockets的UTF-8或ascii消息传输.

最新的Hybi Websocket规范要求支持二进制传输. REQ 6 in hybi spec

另外我读到某个地方,chrome支持hybi.但最新版本Chrome 7.0仅在pywebsocket配置中选择了draft-hixie时才起作用.

是否有任何浏览器支持hybi规格?即使它是开发,它的确定.

解决方法

在WebSockets中支持非UTF-8(即二进制)编码可能会有一段时间.

我建议在客户端和服务器上使用base64编码/解码.所有支持WebSockets的浏览器都有window.atob(base64 decode)和window.btoa(base64 encode).大多数语言你可以编写一个WebSockets服务器,具有base64库(即python中的base64模块).

如果您想要传输二进制数据,那么可能在wsproxy中有趣的是noVNC,它是一个基于Web的VNC客户端. wsproxy(有一个C和python版本)是一个WebSockets到通用的TCP套接字代理.它base64对所有来往浏览器的流量进行编码/解码.您可以使用它从支持WebSockets的浏览器连接到任何类型的TCP端口.

注意,noVNC有一个基于base64编码/解码的Javascript实现,因为它信不信由,Javascript版本比atob / btoa稍快.

免责声明:我创建了noVNC.

猜你在找的HTML5相关文章