无法在真实设备上获取 Flutter 应用程序以在本地 Node.j 服务器 运行 上发出 http 请求
Can't get Flutter app on real device to make http request on Node.j server running locally
我在 127.0.0.1:3000
上本地有我的节点服务器 运行 并且在 Chrome localhost:5000
上使用我的 Flutter 应用程序 运行 我可以发送 http 请求到 url localhost:3000
他们都会回应。
我现在正在通过 USB 连接的真实 Android 设备上尝试 运行 它,并且使用相同的 url 我得到 error: SocketException: OS Error: Connection refused, errno = 111, address = localhost, port = 45614
错误。
现在,如果 url 本地主机端口是 3000,为什么要使用端口 45614(来自错误)?
我得到了我的 ip4 地址,并在我的 Flutter 应用程序 url 中使用了它,正如在 SO 上的各种帖子中所建议的那样,尝试使用和不使用端口作为 static String dbUrl = '192.168.43.105';
或 static String dbUrl = '192.168.43.105:3000';
但是请求没有到达服务器。
我尝试使用 adb tcpip 3000
将 adb 设置为 Node.js 服务器端口 3000,然后重新启动侦听端口 3000 的广告服务器,但请求仍然不会到达我的 Node.js 服务器..
运行 adb devices
命令让我 5203e95d43cd93a7 device
这是连接的 Android 平板电脑,使用 adb forward --list
我得到 5203e95d43cd93a7 tcp:56393 tcp:41547
但我无法找出哪个端口是哪个以及如何使用它..
很抱歉这个问题可能很混乱,但正如你所看到的,我在这里很迷茫,在阅读了这里关于这个主题的各种帖子后,我只会让我更加困惑......
任何帮助将不胜感激。
非常感谢。
首先尝试添加 http://
,所以它会像这样
http://192.168.43.105:3000
如果这不起作用,请尝试在端口 3000 上允许防火墙。
注意:以下解决方案适用于 .netcore 服务器,因此它可能不适用于 nodejs
尝试将您的服务器 url 更改为以下内容:
http://0.0.0.0:5000
首先你需要获取你的电脑 IP 地址,例如你的 IP 地址是 192.168.1.1 然后添加你在后端使用的端口,如 8000 或 8080。所以现在你的 url 就像http://192.169.1.1:8000/。并确保你的 server/backend 是 运行 并且你的设备和笔记本电脑连接到同一网络。
会成功的!
我在 127.0.0.1:3000
上本地有我的节点服务器 运行 并且在 Chrome localhost:5000
上使用我的 Flutter 应用程序 运行 我可以发送 http 请求到 url localhost:3000
他们都会回应。
我现在正在通过 USB 连接的真实 Android 设备上尝试 运行 它,并且使用相同的 url 我得到 error: SocketException: OS Error: Connection refused, errno = 111, address = localhost, port = 45614
错误。
现在,如果 url 本地主机端口是 3000,为什么要使用端口 45614(来自错误)?
我得到了我的 ip4 地址,并在我的 Flutter 应用程序 url 中使用了它,正如在 SO 上的各种帖子中所建议的那样,尝试使用和不使用端口作为 static String dbUrl = '192.168.43.105';
或 static String dbUrl = '192.168.43.105:3000';
但是请求没有到达服务器。
我尝试使用 adb tcpip 3000
将 adb 设置为 Node.js 服务器端口 3000,然后重新启动侦听端口 3000 的广告服务器,但请求仍然不会到达我的 Node.js 服务器..
运行 adb devices
命令让我 5203e95d43cd93a7 device
这是连接的 Android 平板电脑,使用 adb forward --list
我得到 5203e95d43cd93a7 tcp:56393 tcp:41547
但我无法找出哪个端口是哪个以及如何使用它..
很抱歉这个问题可能很混乱,但正如你所看到的,我在这里很迷茫,在阅读了这里关于这个主题的各种帖子后,我只会让我更加困惑......
任何帮助将不胜感激。
非常感谢。
首先尝试添加 http://
,所以它会像这样
http://192.168.43.105:3000
如果这不起作用,请尝试在端口 3000 上允许防火墙。
注意:以下解决方案适用于 .netcore 服务器,因此它可能不适用于 nodejs
尝试将您的服务器 url 更改为以下内容:
http://0.0.0.0:5000
首先你需要获取你的电脑 IP 地址,例如你的 IP 地址是 192.168.1.1 然后添加你在后端使用的端口,如 8000 或 8080。所以现在你的 url 就像http://192.169.1.1:8000/。并确保你的 server/backend 是 运行 并且你的设备和笔记本电脑连接到同一网络。
会成功的!