Flutter:连接在接收数据时关闭

Flutter: Connection closed while receiving data

我正在调用 post API,有时我从服务器得到响应,有时我收到异常 Connection closed while receiving data。两种情况下的请求都相同,根据后端服务器日志,已发送响应但我没有收到。 我在模拟器和实际设备中都有这个问题。

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;
}

这取决于您尝试调用的服务器或 Rest API。

有时需要仔细检查您是否使用了有效且适当的 URL 端点。

另一种可能是它没有在 header 正确接收身份验证。我曾经遇到过这个问题,它通过 url 作为端点进行身份验证得到了解决。尝试研究服务器或 rest api 是否支持最后提到的其他身份验证选项。

Keep-Alive header 在您的请求的 headers 中可能丢失,请检查所需的 APIs headers

我遇到了获取请求的问题,有时我从服务器得到响应,有时我在同一个按钮单击事件中收到异常 Connection closed while receiving data。然后我发现数据库中特定 table 的记录数相当大。我建议的解决方案是在 backend server.

中使用 pagination