在go中创建grpc服务器流端点时违反客户端流协议
我正在尝试创建grpc服务器流端点 这是我的protobuf文件在go中创建grpc服务器流端点时违反客户端流协议,go,stream,grpc,grpc-go,Go,Stream,Grpc,Grpc Go,我正在尝试创建grpc服务器流端点 这是我的protobuf文件 syntax = "proto3"; option go_package = "mirror_streampb"; option java_package = "com.mirror_stream"; option java_outer_classname = "StreamIdsProto"; option java_multiple_files
syntax = "proto3";
option go_package = "mirror_streampb";
option java_package = "com.mirror_stream";
option java_outer_classname = "StreamIdsProto";
option java_multiple_files = true;
package mirror_stream;
service StreamIDs {
rpc ListIDs(ListIDsRequest) returns (stream ListIDsResponse) {}
}
message ListIDsRequest {
int32 num = 1;
}
message ListIDsResponse {
int32 num = 1;
int32 id = 2;
}
这是我对该方法的golang实现。它只返回一些随机数
func (s *Server) ListIDs(req *streampb.ListIDsRequest, stream streampb.StreamIDs_ListIDsServer) error {
for i := int32(0); i < req.Num; i++ {
resp := &streampb.ListIDsResponse{
Num: i,
Id: int32(rand.Intn(10000000)),
}
if err := stream.Send(resp); err != nil {
return err
}
}
return nil
}
func(s*服务器)ListIDs(req*streampb.ListIDsRequest,streampb.StreamIDs\u ListIDsServer)错误{
对于i:=int32(0);i
因此,当我尝试调用该方法时,在调用时出现以下错误失败:code:unknown message:grpc:client streaming protocol违规:get,want
我不知道它为什么会来,从哪里来
有人能帮我解决这个问题吗?服务器看起来不错。客户端是什么?@BurakSerdar没有客户端,我正在尝试使用yab来调用它。类似这样的
yab myService mirror\u stream.StreamIDs/ListIDs-r'{“num”:10}'-p localhost:50051