如何让 Flutter web 在 127.0.0.1 上收听

Posted

技术标签:

【中文标题】如何让 Flutter web 在 127.0.0.1 上收听【英文标题】:How to get Flutter web to listen on 127.0.0.1 【发布时间】:2020-06-10 09:32:20 【问题描述】:

我正在尝试让我的 Flutter 应用程序在 Web 上运行,但我需要它在特定主机名上运行。 当我运行颤振run -d chrome 时,它会在http://[::1]:57402/#/(或其他一些随机端口)上打开它

如果我更改它 http://localhost:57402/#/ 它仍然可以按预期工作。

但现在如果我将其更改为http://127.0.0.1:57402/#/,我会收到连接被拒绝错误。因此,如果我需要更改主机文件以使用不同的名称,那也不起作用(我假设是因为我在主机文件中使用的 127.0.0.1 ip 不起作用)

那么知道为什么会发生这种情况或者我怎样才能让它发挥作用吗?

【问题讨论】:

嗯...我刚刚发现(愚蠢的我)我也可以在我的主机文件中使用 ::1 ......所以我解决了我的主要问题。不知道我是否应该删除这个问题,因为 127.0.0.1 问题仍然存在...... 【参考方案1】:

我们可以用web-hostname指定主机,用web-port参数指定端口:

flutter run -d chrome --web-hostname 127.0.0.1 --web-port 8888

最可靠的信息来源是flutter toolssource code。

【讨论】:

谢谢,我在某处找到了网络端口选项,但没有找到网络主机名。这是在文档中的某个地方吗? 很难记住出处。

以上是关于如何让 Flutter web 在 127.0.0.1 上收听的主要内容,如果未能解决你的问题,请参考以下文章

Flutter web - Window.history.pushState 不起作用

127.0.0.1localhost0.0.0.0的区别

如何在没有服务器端代码的情况下使用 Web API,只使用 Ajax

如何解决 Flutter 上的 XMLHttpRequest 错误?

如何修改redmine的web访问地址

localhost 和 127.0.0.1 在 Web 浏览器中显示不同的内容