Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Flutter: Connection closed while receiving data

I'm calling post API, and sometimes I get the response from the server and sometimes I receive the exception Connection closed while receiving data. Request is same in both cases, and according to backend server logs, a response is sent but i didn't receive it. I have this issue both in simulator and actual device.

try {
  final result =
      await http.post(url, body: encodedBody, headers: apiHeader);
  Map<String, dynamic> response = json.decode(result.body);

  print("Response: $response");

  return response;
} catch (error) {
  Map<String, dynamic> response = Map<String, dynamic>();
  response['success'] = false;
  response['message'] = error;
  return response;
}
like image 807
Nabeel Ashfaq Avatar asked Jul 23 '20 18:07

Nabeel Ashfaq


3 Answers

Keep-Alive header in the headers of your request might be missing, please check with APIs required headers

like image 124
Yadu Avatar answered Nov 16 '22 11:11

Yadu


I had the issue with a get request, sometimes I get the response from the server and sometimes I receive the exception Connection closed while receiving data on same button click event. Then I founded that the number of records of particular table in database is quite large. My suggested solution is to use pagination in the backend server.

like image 30
Chethiya Nishanath Avatar answered Nov 16 '22 10:11

Chethiya Nishanath


I have resolved this, by using this GitHub issue https://github.com/flutter/flutter/issues/22951

enter image description here

like image 1
ncutixavier Avatar answered Nov 16 '22 11:11

ncutixavier