我正在使用Flutter Web,并希望为多个设备设置开发服务器。我目前正在如下运行服务器:
flutter run -d web-server --web-port 5000
这对于http://localhost:5000是有效的,但是当我尝试从http://127.0.0.1:5000/访问服务器时,即使在同一台机器上,它也不起作用。
如何在不构建应用程序的情况下从同一网络下的任何设备访问服务器?
我正在使用Flutter Web,并希望为多个设备设置开发服务器。我目前正在如下运行服务器:
flutter run -d web-server --web-port 5000
这对于http://localhost:5000是有效的,但是当我尝试从http://127.0.0.1:5000/访问服务器时,即使在同一台机器上,它也不起作用。
如何在不构建应用程序的情况下从同一网络下的任何设备访问服务器?
3条答案
按热度按时间6yoyoihd1#
新答案
Cloudflare应该允许您建立到本地主机的隧道。
在Linux上,您可以:
1.使用
cloudflared tunnel --url http://localhost:5000/
创建指向localhost:5000的隧道1.使用给定的地址从任何地方访问您当地的开发网站
注意这仍然很慢,如果你需要偶尔检查一下其他设备,我会说这已经足够好了,但是如果你想像热加载一样开发的话就不行了。
旧答案(由于未知原因,这似乎非常慢)
您应该研究一下类似ngrok的东西。
在Linux上,您可以:
1.安装ngrok:
sudo apt install ngrok
1.使用
ngrok http 5000
创建指向localhost:5000的隧道1.使用给定的地址从任何地方访问您当地的开发网站
hivapdat2#
您需要添加
--web-hostname 0.0.0.0
;这将告诉它侦听所有地址。
c9qzyr3d3#
对我来说,主机名0.0.0.0不起作用(它可以用PHP,但不能用Flutter)
flutter运行-d Web服务器-Web主机名0.0.0.0-Web端口5000
当使用我的机器的实际本地IP号时,它工作