Flutter Web仅本地可访问,局域网设备无法连接,求解决方案
Flutter Web局域网访问问题解决方案
确认电脑局域网IP正确性
在Mac终端执行ipconfig getifaddr en0获取当前WiFi的局域网IP(比如192.168.1.105),确保手机和电脑连接同一WiFi,手机直接访问该IP加端口192.168.1.105:8080,不要用localhost或0.0.0.0。验证Flutter命令执行状态
执行flutter run -d web-server --web-hostname 0.0.0.0 --web-port 8080后,终端必须输出Listening on http://0.0.0.0:8080。如果没有该输出,先终止所有Flutter相关进程(终端按Ctrl+C,或用killall dart),再重新执行命令。排查Mac网络限制
- 打开「系统偏好设置」→「安全与隐私」→「防火墙」→「防火墙选项」,确认没有阻止
dart或flutter进程的网络访问。 - 检查WiFi隔离模式:打开「系统偏好设置」→「网络」→「WiFi」→「高级」→「无线」,取消勾选「启用无线隔离」(若存在该选项)。
- 打开「系统偏好设置」→「安全与隐私」→「防火墙」→「防火墙选项」,确认没有阻止
绕开Flutter Dev Server测试
先执行flutter build web生成静态Web文件,然后用Python启动静态服务器:python3 -m http.server 8080 --bind 0.0.0.0再用手机访问电脑局域网IP:8080,如果能访问,说明是Flutter开发服务器的临时问题,可尝试升级Flutter版本(3.7.0较旧,升级到稳定版可能解决)。
检查手机网络设置
关闭手机的VPN、代理服务,确保手机网络没有限制局域网内设备的访问。
内容的提问来源于stack exchange,提问作者ken
相关产品推荐
相关产品推荐

