# Upgrading to Flower NEXT

**URL:** <https://discuss.flower.ai/t/upgrading-to-flower-next/285>\
**Category:** General\
**Tags:** flower\
**Created:** [July 31, 2024, 11:12am UTC](https://discuss.flower.ai/t/upgrading-to-flower-next/285 "2024-07-31T11:12:26Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![jonaslwq](https://dub1.discourse-cdn.com/flex013/user_avatar/discuss.flower.ai/jonaslwq/32/93_2.png) [@jonaslwq](https://discuss.flower.ai/u/jonaslwq)\
**Post date:** [July 31, 2024, 11:12am UTC](https://discuss.flower.ai/t/upgrading-to-flower-next/285/1 "2024-07-31T11:12:27Z")

</div>

[Flower Framework main](https://flower.ai/docs/framework/how-to-upgrade-to-flower-next.html#upgrade-to-flower-next)

In this article, the migration from using  
“client.start\_client(server\_address=”“, client=FlowerClient)” to using “app=ClientApp(client\_fn=client\_fn)”.

I have two questions regarding this implementation.

1. After starting a superlink, I run “flower-client-app client:app --insecure”, but I am faced with this issue:  

2. How can we specify which client we are calling? I am simulating Federated Learning with multiple databases. So each client file is tagged to different datasets and the datasets are not in a list where it can be called with a partitioned ID. Is it:  
“flower-client-app file/dir/client\_0:app --insecure”?

Is there an example that I could following regarding running client files separately on different terminals?

Thank you

---

<div class="post-metadata">

**Author:** ![javier](https://dub1.discourse-cdn.com/flex013/user_avatar/discuss.flower.ai/javier/32/116_2.png) [@javier](https://discuss.flower.ai/u/javier)\
**Post date:** [July 31, 2024, 11:15am UTC](https://discuss.flower.ai/t/upgrading-to-flower-next/285/2 "2024-07-31T11:15:50Z")

</div>

Hi @jonaslwq ,

You can pass the path to your `ClientApp` following a similar syntax to the one you’d use if you were importing it in a python file. For example if you want to use a `ClientApp` defined in a `path/to/client_0.py` under the name `app` you can do:

```bash
flower-client-app path.to.client_0:app --insecure

```

Let us know if this works!

---

<div class="post-metadata">

**Author:** ![jonaslwq](https://dub1.discourse-cdn.com/flex013/user_avatar/discuss.flower.ai/jonaslwq/32/93_2.png) [@jonaslwq](https://discuss.flower.ai/u/jonaslwq)\
**Post date:** [August 1, 2024, 7:41am UTC](https://discuss.flower.ai/t/upgrading-to-flower-next/285/3 "2024-08-01T07:41:13Z")

</div>

Hello! The error has been solved, I started a superlink and it works, however when I ran the client and server app, it shows that “Connection attempt failed”. Wondering if I am missing any steps?

error:

 ![image](https://europe1.discourse-cdn.com/flex013/uploads/flower/original/1X/c0f696d32d1eebeed6f3025c5aa790589e72607f.png)

superlink:

 ![image](https://europe1.discourse-cdn.com/flex013/uploads/flower/original/1X/4da22367099a32bb6710377720da115fbd16be26.png)

---

<div class="post-metadata">

**Author:** ![javier](https://dub1.discourse-cdn.com/flex013/user_avatar/discuss.flower.ai/javier/32/116_2.png) [@javier](https://discuss.flower.ai/u/javier)\
**Post date:** [August 5, 2024, 12:15pm UTC](https://discuss.flower.ai/t/upgrading-to-flower-next/285/4 "2024-08-05T12:15:25Z")

</div>

Hello @jonaslwq, are you running the `SuperLink` on the same machine as your `clientapp` and `serverapp`? If not, you might not be passing the correct `SuperLink` address when launching the client and server.

The commands `flower-client-app` and `flower-server-app` have an optional flag called `--superlink` that allows you to specify the address and port. By default `--superlink` is `"0.0.0.0:9092"` for the `flower-client-app` and `"0.0.0.0:9091"` for the `flower-server-app`. Note the ports matter, since clients and server use different APIs.

If you are running the `SuperLink` on a different machine: find the IP of such machine and replace the `0.0.0.0` in the addresses above.

Let me know if this works!
