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.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码
HTML5使用DOM进行自定义控制
使用HTML5 Canvas绘制阴影效果的方法
使用PHP和HTML5 FormData实现无刷新文件上传
如何解决HTML5 虚拟键盘出现挡住输入框的问题
HTML5中div和section以及article的区别分析
html5和CSS 实现禁止IOS长按复制粘贴功能
html5 touch事件实现触屏页面上下滑动
canvas 模拟实现电子彩票刮刮乐的代码
HTML5 Plus 实现手机APP拍照或相册选择图片上传的功能
Android自定义环形LoadingView效果
HTML5 canvas绘制五角星的方法
html5使用html2canvas实现浏览器截图
使用Canvas处理图片的方法介绍
利用Canvas模仿百度贴吧客户端loading小球的方法