1

我在通过 tcp 套接字通信 protobuf 时遇到问题,客户端在 Android 模拟器(运行 eclipse + ADP + SDK android-15)和 C++ 中的服务器(Visual Studio 2010)中工作,两者都在 Windows 7 上。Protobuf 版本:2.4 .1

.proto

package pck;

option java_package = "my.messages.package";
option java_outer_classname = "ClassName"; 
option optimize_for = LITE_RUNTIME; 

message msg_name {
    optional int32 VARIABLE = 6;
    //moro...
    }

客户端:安卓端

msg_name outMsg = to_send.build();
ByteArrayOutputStream output = new ByteArrayOutputStream();
outMsg.writeTo(output);
//now output.toString() is sent via tcp socket...

我得到的,我在这里问的原因是:通信正常,消息到达服务器端点,但是 int32 变量的值如下:

(在 android 上发送的值 ->> 在 vi​​sual-c++ 端读取的值)

  • android: [0, 127] ->> visual-c++: [0, 127] 工作正常,好的。
  • 机器人:[128, 255] -->> visual-c++:3104751
  • 安卓:[256, 383] -->> visual-c++:5201903
  • ...

那么,这是编码的问题吗?我在客户端 android 端的 protobufs 有问题吗?(我必须说这是我在 android 上的第一天,opss!)

4

0 回答 0