Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Protocol buffers 有没有办法检查protobuf消息中的新字段?_Protocol Buffers - Fatal编程技术网

Protocol buffers 有没有办法检查protobuf消息中的新字段?

Protocol buffers 有没有办法检查protobuf消息中的新字段?,protocol-buffers,Protocol Buffers,我想做的是在将protobuf消息发送到外部网络之前验证它内部的数据。这是提供安全检查 问题是protobufs允许使用更新的proto文件发送附加字段,这允许向后兼容 这意味着当我去检查一条消息时,我的自动生成代码会解析对象,但会删除未知字段。这意味着传输的字节可能有我不知道的信息 解决方法是传输我解析和检查过的数据版本,这意味着删除新字段。这是正确的安全措施,但我仍然不知道有人正在向我发送新版本的消息。如果能记录下来,并被告知我可能需要更新,那就太好了。我还想向发送者反馈他们的一些数据正在被

我想做的是在将protobuf消息发送到外部网络之前验证它内部的数据。这是提供安全检查

问题是protobufs允许使用更新的proto文件发送附加字段,这允许向后兼容

这意味着当我去检查一条消息时,我的自动生成代码会解析对象,但会删除未知字段。这意味着传输的字节可能有我不知道的信息

解决方法是传输我解析和检查过的数据版本,这意味着删除新字段。这是正确的安全措施,但我仍然不知道有人正在向我发送新版本的消息。如果能记录下来,并被告知我可能需要更新,那就太好了。我还想向发送者反馈他们的一些数据正在被删除


有没有办法知道我收到的消息的格式是否与我预期收到的格式不匹配

许多protobuf框架都有一个内置的机制来跟踪意外字段。您使用的是哪种库/框架/语言?我使用的是Java与maven com.google.protobuf protobuf Java和protobuf Java utilSo:getUnknownFields?许多protobuf框架都有一个内置的机制来跟踪意外字段。您使用的是哪种库/框架/语言?我使用的是Java与maven com.google.protobuf protobuf Java和protobuf Java utilSo:getUnknownFields?