版本 v2.0.1
代码 如下:接收 服务器 数据 但是 结果既不是 ArrayBuffer Blob 类型 麻烦 帮忙解答下!
private unpack(array_buf: ArrayBuffer, len:number): { msgid: number, data: Uint8Array } {
let byteBuffer = new DataView(array_buf);
let msgid: number = byteBuffer.getInt32(0, false);
let databa: Uint8Array = new Uint8Array(array_buf, 4, len - 4);
cc.log("*unpack", msgid, databa.length, databa);
return { msgid: msgid, data: databa };
}
private on_ws_message(ev: MessageEvent): any {
cc.log("on_ws_message:", ev.data.length)
if(!ev.data) {
cc.log('Ping')
} else {
if (ev.data instanceof ArrayBuffer) {
cc.log("------------ArrayBuffer data-----", ev.data)
this.unpack(ev.data, ev.data .byteLength);
} else if (ev.data instanceof Blob) {
cc.log("------------Blob data-----")
} else {
cc.log("***********Unknow data*********")
}
}
// let respMsg: GamePB.AdapterMsgResp = GamePB.AdapterMsgResp.decode(new Uint8Array(event.data));
// TODO:ping pong 消息 可以直接发送回复
// if (msg.cmd == pb.Command.KPing) {
// this.send({ cmd: pb.Command.KPong });
// return;
// }
// this.handle_response(respMsg);
}