首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Protobuf设计

Protobuf设计
EN

Stack Overflow用户
提问于 2012-12-13 07:05:17
回答 1查看 640关注 0票数 1

我有一个消息图像,其中有很多东西和消息ImageSet,其中存储了多个图像。

代码语言:javascript
复制
message Image {
    ...
}
message ImageSet {
    repeated Image images = 1;
}

我还使用了多个ImageSets,因为我不想将所有内容都保存在一个文件中。我遇到的问题是,每个ImageSet都变得非常大,因此我会收到警告/错误。有没有更好的设计方法呢?

请注意,我是这样解析文件的。

代码语言:javascript
复制
ImageSet image_set;
image_set.ParseFromIstream(stream);
EN

回答 1

Stack Overflow用户

发布于 2013-03-04 13:46:51

您不必使用protobuf-messages来发送图像数据对象。你可以设计类似这样的东西来描述图像:

代码语言:javascript
复制
message Image {
    required int64 bytes_size = 1;
}

message ImageSet {
    repeated Image images = 1;
}

指定您发送的每个图像数据的计数和大小。而不只是通过套接字发送消息后的图像日期,并在另一边以相同的顺序阅读。

在发送方方面:

代码语言:javascript
复制
socket.write(protobuf_message_size); // for example 8 bytes    
socket.write(protobuf_message);
socket.write(binary_images_data);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13850214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档