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。