对于js中网络接口websocket,二进制数组arraybuffer,视图对象dataview学习记录。
来源:互联网 发布:linux 跟踪路由命令 编辑:程序博客网 时间:2024/06/06 20:23
1.关于WebSocket对象,他的协议头不是http://,而是ws://
服务器传递到客户端的数据可能是字符串,所以我们要判断一下,是否数据是字符串
也可能是二进制的数据,(blob或者是arraybuffor),一个websocket只能接收一种二进制数据,要么是blob,要么是arraybuffer,但是默认是blob,但是我们可以通过 WebSocket对象的一个属性binaryType指定接收的二进制类型。ws.binaryType="arraybuffer"; 那么这时指定接收的二进制数据就是ArrayBuffer
2.ArrayBuffer
var bf = new ArrayBuffer(4); //ArrayBuffer是存放二进制数据的数组,这里的参数4是指创建的数组长度是4个字节。
bf.typeLength //ArrayBuffer对象数组有一个参数,typeLength。表示给数组分配的字节长度
要注意一点,这个二进制数组创建时分配的内存是连续的,如果要求的内存比较大,那么可能分配不成功,所以我们使用他时我们要检验一下
3.DataView
服务器传来的二进制数据中包含了多种数据类型,二进制数组ArrayBuffer自身不能进行操作(读取,设置),我们可以把它传入DataView对象进行操作
var dv = new DataView(bf);
dv.getInt32(pos,true); //从ArrayBuffer数组的下标处开始读取一个32位二进制数,转化为整数
dv.set(pos,1,true); //在ArrayBuffer数组的pos下标处开始设置一个32位二进制,把1转化成二进制
- 对于js中网络接口websocket,二进制数组arraybuffer,视图对象dataview学习记录。
- scala Array与ArrayBuffer学习记录
- javascript ArrayBuffer类型化数组和视图的操作 个人理解类型化数据就是内存分配区域,不同数据的存储就是视图DataView咯 var buffers = []; var jso
- javascript ArrayBuffer类型化数组和视图的操作
- WebSocket网络接口
- ArrayBuffer.isView、ArrayBuffer.transfer、Boolean、DataView、buffer、byteLength
- js解析websocket二进制数据包
- 代码中使用DataView对象----创建DataView对象
- 记录自己的学习历程--自己对于JSP中pageContext对象的理解
- websocket学习记录
- JavaScript中你所不知道的数组ArrayBuffer
- JavaScript中你所不知道的数组ArrayBuffer
- JavaScript中你所不知道的数组ArrayBuffer
- JavaScript中你所不知道的数组ArrayBuffer
- JavaScript中你所不知道的数组ArrayBuffer
- ArrayBuffer:类型化数组
- ArrayBuffer:类型化数组
- scala 数组ArrayBuffer
- @RequestParam @RequestBody @ResponseBody区别 (1)
- ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决
- TF Learn入门 —— 简介
- linux yum命令详解 yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能
- if语句的陷阱
- 对于js中网络接口websocket,二进制数组arraybuffer,视图对象dataview学习记录。
- Struts2笔记10 向值栈放入或获取数据
- 批处理bat命令--获取当前盘符、当前目录
- Netty物联网高并发系统第一季
- 如何在把微信公众号生成链接
- Linux常用命令(六)——其它常用命令(未拓展)
- ztree树形菜单简单使用
- Linux下安装PHP的GD支持库
- 一个需求列表的实例