SocketException: OS Error: Connection refused, errno = 111 in flutter using django backend

Harnish, need a few more details in-order to debug this error.

  1. Are you running the server locally or communicating with a remote server?
  2. Are you running the app on the Android Emulator?

Possible Solution:

If you’re running the server locally and using the Android emulator, then your server endpoint should be instead of localhost:8000 as AVD uses as an alias to your host loopback interface (i.e) localhost

Note on Futures

I noticed above that the code is using await and then on the same line. This can be confusing, to be clear, await is used to suspend execution until a future completes, and then is a callback function to execute after a future completed. The same could be written as below

void myFunction() async {
    var data = {};
    var response = await, headers:headers, body:data);
    if (response.statusCode == 200) {
    } else {
       print('A network error occurred');

or the non async/await method

void myFunction() {
    var data = {};, headers:headers, body:data)
    .then((response) => print(response.body))
    .catchError((error) => print(error));

For a more detailed information on Futures in Dart please read

Leave a Comment