msg={acc=1,pwd=2} msg怎么弄成二进制,不借助第三方protobuf
DataView.setIntXX
怎么知道msg 字节大小呢
比如
1 如果你当成16位来处理 那就是setInt16
1 如果你当成32位来处理 那就是setInt32
现在假设 let msg = {acc=1,pwd=2,name=‘cocos’} acc 占一个字节,pwd占两个字节,name占两个字节,你看这样写对不对
let msgBuff = new Uint8Array(5)
let msgView = new DataView(msgBuff)
msgView.setUint8(0,1)
msgView.setUint16(1,2)
这个name这个字段怎么写入,setXXX接受number类型
这两个都对,name占两个字节 这个不对,字符串的要这么处理 先把字符串转成ArrayBuffer,然后用这个ArrayBuffer构造一个新的DataView,然后把这个新的DataView 拷贝到前面已有的msgView中 msgView 的长度 是 1+2+ArrayBuffer长度 看官网的例子 可以试试
如果你知道更简单的方法 也告诉我试试

那如果是这样的数据呢 msg={data1=[{parmar1:‘xx’,parmar2:22}],data2={xxx}},这种的该咋搞
msgpack了解一下
直接把这个JSON当成字符串传过去 对方收到后也是个JSON 其实更简单了