颤振:异常:SocketException:仅在iOS模拟器上连接失败

Posted

技术标签:

【中文标题】颤振:异常:SocketException:仅在iOS模拟器上连接失败【英文标题】:flutter: Exception : SocketException: Connection failed only on iOS Simulator 【发布时间】:2021-08-03 15:15:09 【问题描述】:

当我尝试使用 dart HTTP 模块调用 REST API 时出现以下错误,这ios 模拟器上发生,尝试在 iOS 设备和 android 模拟器上运行相同的代码,工作两个都好。

这是我在记录异常时得到的,

Launching lib/main.dart on iPhone 12 Pro Max in debug mode...
Running Xcode build...
Xcode build done.                                           28.0s
Debug service listening on ws://127.0.0.1:51060/OGZYZc5p7EM=/ws
Syncing files to device iPhone 12 Pro Max...
flutter: Exception : SocketException: Connection failed, address = my.domain.api.net, port = 443

iOS 开发工具:XCode Version 12.5 (12E262)

颤振医生输出:

$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.0.6, on macOS 11.2.3 20D91 darwin-x64, locale en-LK)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.2)
[✓] VS Code (version 1.56.1)
[✓] Connected device (3 available)

• No issues found!

尝试在模拟器上使用 Safari 访问我的 API URL,它也工作正常,除了颤振异常,我没有收到任何其他信息/日志。

【问题讨论】:

面对相同。您找到任何解决方法了吗? @TapasPal 不,仍然有这个问题,我已经在 Flutter github 项目上报告了这个问题,但仍在等待任何回复。当我尝试使用这种方法***.com/questions/59622087/… 使用自签名 SSL 证书访问 REST api 时遇到了这个问题,结果证明具有正确 SSL 证书的 API 似乎可以正常工作。 【参考方案1】:

问题的原因与 Sophos Antivirus 有关,我已删除 Sophos 并能够解决问题。当我尝试使用flutter pub get 时,我遇到了类似的套接字异常,但只有我的一个互联网连接,当我切换到另一个连接时它工作正常,我试图通过移除 Sophos 来让flutter pub get 工作,并且它解决了flutter pub get 问题和与iOS 模拟器的连接问题。

【讨论】:

以上是关于颤振:异常:SocketException:仅在iOS模拟器上连接失败的主要内容,如果未能解决你的问题,请参考以下文章

仅在发送大请求时使用 .NET 5 时出现 SocketException (10054)

如何修复颤振中的“SocketException:os错误:连接超时错误号110,地址= 000.000.0.00,端口= 44935”

如何修复颤振中的“SocketException:OS错误:连接超时,errno = 110,地址= 192.168.5.10,端口= 49590”错误

SocketException:在 macOS 上使用颤振应用程序连接失败(操作系统错误:不允许操作,errno = 1)

java.net.SocketException四大异常解决方案

如何解决 java.net.SocketException:使用 selenium 的 java 中的连接重置异常?