Как узнать, что сообщение, которое я отправляю через поток gRPC, было получено на другом конце?
Есть ли способ сделать это в двунаправленной потоковой передаче gRPC или мне нужно просто использовать потоковую передачу, а затем отправить ответ обратно?
Прото-файл:
service SimpleService {
rpc SimpleRPC (stream SimpleData) returns (stream SimpleData) {}
}
message SimpleData {
string msg = 1;
}
Go код:
client := pb.NewSimpleServiceClient(conn)
stream, err := client.SimpleRPC(context.Background())
waitc := make(chan struct{})
msg := &pb.SimpleData{"sup"}
go func() {
for {
stream.Send(msg)
}
}()
<-waitc
stream.CloseSend()