Flutter - Socket.Connect() - SocketException:操作系统错误:连接超时
Posted
技术标签:
【中文标题】Flutter - Socket.Connect() - SocketException:操作系统错误:连接超时【英文标题】:Flutter - Socket.Connect() - SocketException: OS Error: Connection timed out 【发布时间】:2021-04-18 23:57:38 【问题描述】:当我使用我的设备(真实)进行调试模式(使用“flutter run”)时,Socket.Connect() 方法不起作用。
另外我想说的是,这个 Connect 方法在“dart:io”库中。
很快;
我用 Python 打开了一个服务器 (TCP)。
我编写了如下所示的 Flutter 客户端,以便能够使用 Python 连接到服务器。
未来 den() 异步 打印(“开始”); 套接字 sock = 等待 Socket.connect("192.168.0.159", 5431); print("完成 +++++++++++++++++++++++++++");
但是,我将 SocketError 作为连接超时。
我收到的错误信息:
E/flutter (17655): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: SocketException: OS Error: Connection timed out, errno = 110, address = 192.168.0.159, port = 43836
注意: 我尝试通过添加 INTERNET 权限来更改清单文件,但它不起作用。
【问题讨论】:
【参考方案1】:这是一个奇怪的问题,因为我分享的代码没有问题。 Windows Defender 执行了一个规则来阻止打开一个端口作为服务器。因此,我在我的机器上启动了服务器,但是我无法从我的 android 设备连接它。
可能是 Flutter 显示的错误码不清晰。如果您在连接或绑定的套接字编程方面出现错误,请查看 Defender(或防火墙)可能是有效的方法。不幸的是,当我刚开始学习 Flutter 时,我想在之后检查一下 Defender。
【讨论】:
以上是关于Flutter - Socket.Connect() - SocketException:操作系统错误:连接超时的主要内容,如果未能解决你的问题,请参考以下文章
socket connect 反复使用,为何到一定的时候connect不上服务器?
在 Python 中使用 socket.connect() 之前查找操作系统生成的端口
将 connectParams 与 JWT 一起使用时,Socket.connect() 不一致