[]Protobuf decode报错

使用protobuff 连接socket ,
socket约定的格式:length(整形),消息号(整形) ,消息体(buffer)
 
1.发送给服务器正常,也可以接受到服务区的消息
   

//已经加载完了.proto文件
var awesomMsg:any=root.lookup("com.lll.game.login.LoginRequest");
var message:any=awesomMsg.create(
{username:'nk',
password:'123',
usertype:1}
);

var buffer=awesomMsg.encode(message).finish();
//封装数据为约定的格式 length,id,buff
socket.output.writeInt32(length);
socket.output.writeInt32(id);
socket.output.writeArrayBuffer(buffer);
//发送给服务器
socket.flush();

2.问题来了,我在接受socket消息的时候,使用proto decode的时候报错
//--------不知道怎么把接受的数据decode为message--------
socket.on(Event.MESSAGE,this,this.onMessageReceived);
private onMessageReceived(msg:any):void
{
//received data from server
var byte:Byte=new Byte();
byte.writeArrayBuffer(msg);
byte.pos=0;
byte.endian=Socket.BIG_ENDIAN;
//拆包开始 :依旧是length id buffer
var length:number=byte.getUinit32();
var id:number=byte.getUint32();
//已经读完了length id,剩下的字节就是需要protobuf来decode成一个message了,怎么写?我写的都报错了
this._protoMsg.decode(xxxxxx);//xxxxx怎么来写
}

请大神帮我看看,谢谢啦
 
已邀请:

huoxiaoxie83 - 微信:xingzhe854021

赞同来自:

已解决了。

Monica - 知识达人

赞同来自:

好的,有问题再联系~

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作