:= req.GetName() if name == "" { return fmt.Errorf("name is required") } for i := 0; i < 10; i++ { var msg string if i < 9 { msg = fmt.Sprintf("[%d] Hello %s!!", i, name) } else { msg = fmt.Sprintf("[%d] This is the last message. Hello %s!!", i, name) } err := stream.Send(&proto.ServerStreamResponse{ Message: msg, }) if err != nil { return err } time.Sleep(1 * time.Second) } return nil } server/main.go