I/flutter (30720): SocketException: OS Error: Connection timed out, errno = 110, address = 192.19.170.13, port = 47763

Mad*_*thi 10 api http socketexception mongodb flutter

我使用的是真实设备(不是 android 模拟器)后端:MongoDb Atlas,API:trapi-beta,收到此错误:I/flutter (30720): SocketException: OS Error: Connection timed out, errno = 110, address = 192.19.170.13, port = 47763(找了很多类似的问题但是没有一个是用真机测试的)

    try {
      var ip = '192.19.170.13';
      setState(() => _isSubmitting = true);
      http.Response response =
          await http.post('http://$ip:1337/auth/local/register',
 /* I've also tried using localhost(it didn't work) everyone suggested to use my loopback adapter's (Ethernet's ip address) even that isn't working.*/
 body: {
        'username': _username,
        'email': _email,
        'password': _password,
      });

      final responseData = json.decode(response.body);
      setState(() => _isSubmitting = false);
      _successSnackBar();
      print(responseData);
    } catch (e) {
      setState(() => _isSubmitting = false);
      print(e.toString());
    }
  }
Run Code Online (Sandbox Code Playgroud)

小智 9

检查您的设备网络连接(模拟器或真实设备)和机器网络连接(计算机)是否相同。

  • 移动数据关闭
  • 您的机器上使用的用户 wifi 数据。

问题解决了。


小智 7

好吧,如果您正在使用本地服务器进行测试并且您使用的是 Windows。该错误可能是由于 Windows 防火墙造成的。您可以禁用防火墙,它应该可以工作,或者向防火墙添加一条规则以允许 tcp 访问提到的端口。


Ale*_*dre 0

我的模拟器也有同样的问题,问题的原因是IP。

您能否在不使用 flutter 应用程序的情况下检查设备中是否可以连接到该 IP?

我的问题是尝试使用 127.0.0.1 连接到主机本地主机,并找到此页面: https ://developer.android.com/studio/run/emulator-networking