Search code examples
flutterdartconnectivity

How to handle connectivity while posting data?


I'm trying to find a way to post data, while checking for internet connectivity. My problem is, if I have 50 photos to send to my server, say it takes 15secondes, how do I handle the case where I have a bad connection, or where I loose my connection in the middle of the process ? How do I wait until connectivity is back ? How do i try again in 10seconds ? And should I send the data all over again, or is it possible to keep where it stopped (when the connection was lost) ?

I already know of the connectivity plugin, i'm just trying to figure out if I should use a StreamBuilder, rxdart with a listener, etc... Is there a proper way to deal with it, or am I supposed to come up with my own solution ?

If you know of any articles or videos talking about this, thank you for letting me know ! I'm having a hard time finding these.

Ps : i'm not using Firebase, Firestore, etc...

Thanks !


Solution

  • Instead of posting all photos at once, break them down one-by-one. You can put them into a queue of Future or using [StreamQueue][1].

    In queue object model, you can add an extra field to determine whether it succeeds or fails. If the result of posting a specific photo is failure, put it into queue again.