直接说原因吧~
protobuf.decode()接收的数据必要是Unit8Array的数据。所以前端接收到arrayBuffer时候需要进行转换成Unit8Array。下面列出转换方法,非常简单
//接收到的数据
let data=data
//进行Unit8Array转换
let Udata=new Unit8Array(data);protobuf.load('./index.proto')
.then(
(root)=>{
let message=root.lookupType('Message.center');
//解析数据
return message.decode(Udata);
}
)
.catch(
(err)=>{
throw err;
}
)复制代码