小编Sid*_*dhu的帖子

如何在python中编码protobuf映射?

我使用 protobuf 和 grpc 作为客户端和服务器之间的接口。服务器是用 C 编写的,客户端使用 python 与服务器通信。

我在 protobuf 中创建了一条消息,如下所示。

message value_obj {
    uint32 code = 1;
    uint32 value = 2;
}

message list_of_maps {    
    map<uint32, value_obj> mapObj1 = 1;    
    map<uint32, value_obj> mapObj2 = 2; 
}
Run Code Online (Sandbox Code Playgroud)

我尝试在 Python 中创建对象,如下所示:

obj = list_of_maps()
mapObjToStore = value_obj()
mapObjToStore.code = 10
obj.mapObj1[1].CopyFrom(mapObjToStore)
Run Code Online (Sandbox Code Playgroud)

当我尝试在服务器中接收消息时,我得到错误的值(巨大的数字!)。对此的任何帮助将不胜感激。

protocol-buffers grpc

5
推荐指数
1
解决办法
6468
查看次数

标签 统计

grpc ×1

protocol-buffers ×1