golang 中 GRPC 客户端服务器架构中的 Proto 不匹配
Proto mismatch in GRPC client server architecture in golang
我在客户端和服务器中有一个 proto 文件,但客户端 protobuf 中特定属性的字段编号在服务器 proto 中必须相同。
message Foo_client {
string foo_has = 1;
string bar_has = 3;
}
message Foo_server {
string bar_true = 1;
string foo_true = 2;
string bar_has = 3;
}
since in server proto file attribute "bar_has" had tag=3 ,so in client it has to be 3
why?? and is there any other solution that we can use to remove this ambiguity
请更清楚地说明您的问题。据我所知,您的服务器和客户端没有两个单独的原型文件。定义 proto 文件的全部意义在于在服务器和客户端之间定义一致的握手。
你不能跳过一个数字,因为它是递增的。您应该定义的结构应该基于 request/response 而不是 server/client。
我在客户端和服务器中有一个 proto 文件,但客户端 protobuf 中特定属性的字段编号在服务器 proto 中必须相同。
message Foo_client {
string foo_has = 1;
string bar_has = 3;
}
message Foo_server {
string bar_true = 1;
string foo_true = 2;
string bar_has = 3;
}
since in server proto file attribute "bar_has" had tag=3 ,so in client it has to be 3
why?? and is there any other solution that we can use to remove this ambiguity
请更清楚地说明您的问题。据我所知,您的服务器和客户端没有两个单独的原型文件。定义 proto 文件的全部意义在于在服务器和客户端之间定义一致的握手。
你不能跳过一个数字,因为它是递增的。您应该定义的结构应该基于 request/response 而不是 server/client。