qykings / protoc-gen-as3

Automatically exported from code.google.com/p/protoc-gen-as3
BSD 2-Clause "Simplified" License
0 stars 0 forks source link

类似java的CodedInputStream #41

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
我现在每个包都是一个message.
然后每个message都是由head和type开头的,tag也都一样,只是默认值
不一样.
optional int32 head = 1;
optional int32 type = 2;
比如message LoginOKResponder的定义如下:
message LoginOKResponder {
optional int32 head = 1 [default = 1];
optional int32 type = 2 [default = 1];
required string id = 3;
required string name = 4;
}

在java中使用CodedInputStream可以直接readInt32得到head和type,
CodedInputStream input = CodedInputStream.newInstance(data);
int header = input.readInt32();
int action = input.readInt32();
这样会得到header 和 action.

但是在AS中我找不到类似的类或方法, 
用ReadUtil读出来的是错误的值.
然后我定义了SimpleResponder,结构如下:
message SimpleResponder {
optional int32 head = 1;
optional int32 type = 2;
}
我本来想让SimpleResponder 
帮我把head和type读出来,但是发现读出来的也是错的.

希望作者能帮忙实现我这样的需求.
我的每个message都有head和type,然后想在不知道具体的message类的
情况下读到head和type.

当然也可以把head和type从message里分出来.但是我想使用proto的��
�认值,然后就不用在代码里写了,而且用message包起来也方便传�
��的.

最后,谢谢了.希望作者能实现我这个需求.

Original issue reported on code.google.com by litef...@gmail.com on 2 Feb 2013 at 4:54

GoogleCodeExporter commented 9 years ago
ReadUtil是仅供内部使用的类。你不应该使用。

Original comment by pop.atry@gmail.com on 2 Feb 2013 at 5:14