使用protogen工具后,我有一个用于发送消息的消息类型:
type File struct {
Info string `protobuf:"bytes,1,opt,name=info,json=info" json:"info,omitempty"`
BytesValues []byte `protobuf:"bytes,2,opt,name=bytes_values,json=bytesValues,proto3" json:"bytes_values,omitempty"`
}
我正在尝试使用该BytesValues字段发送一些二进制数据,如下所示:
filePath := filepath.Join("test", "myfile.bin")
f, _ := ioutil.ReadFile(filePath) // error return value ignored for brevity
msg := File{BytesValues: f}
body, _ := proto.Marshal(msg) // encode
服务器似乎在解码我发送给它的消息时遇到问题。这是使用[]byte带有协议缓冲区的字段发送二进制数据的正确方法吗?
长风秋雁
相关分类