有没有办法使用Android上的Chrome浏览器连接到http://mylaptop.local/,或者有其他可以使用的浏览器?

我通过笔记本电脑和手机在网络之间互访,通常必须将手机连接到笔记本电脑上的网站。使用iPhone上的Safari,我可以简单地使用http://mylaptop.local/(通常是在打开的浏览器窗口中重新加载),但是使用Android设备时,我总是必须弄清楚笔记本电脑的当前IP手工打入并连接到它(我无法控制我所使用的许多网络,而且它们似乎从未将DNS与DHCP集成在一起)。

我一直在寻找答案,似乎大多数人只是使用静态DNS来解决问题,或者控制DHCP和DNS,这两种情况都不适合我的情况。我也看到了在特定的Android应用程序中支持mDNS(和其他zeroconf东西)的代码库,所以也许那里有一个Chrome插件,或者其他支持它的浏览器?

此外,在设备范围内对mDNS和Android上的.local域的支持是否有任何官方说法?我也很难找到那个。

#1 楼

我不这么认为。

Apple平台中的系统DNS解析器具有对mDNS的内置支持,因此几乎所有应用最终都使用核心getaddrinfo功能并在URL和URL中支持mDNS。主机名和其他名称。

在Android和其他平台上,即使有运行的多播DNS守护程序和可用的库,“典型” DNS查找也不会。因此,尽管最近的Android版本确实为开发人员提供了一些mDNS功能作为该平台的一部分,但大多数功能并不会妨碍他们使用(如他们需要这样做)。

真是令人遗憾AFAIK能够真正解决此问题的就是推出您自己的自定义Android构建(或说服Google对其进行更改)。

评论


好me脚! linux用了15年的时间才能正确地与Windows和Mac对话,现在我们又看到了同样的故事。 Android不支持mDNS。 Android不支持AirPrint。来吧,互操作性必须成为规则!

– Philipp
2014年3月27日20:11在

我针对Chromium项目提出了一个错误。如果您遇到此问题并希望解决此问题,请加注星标(请勿+1条评论)。 crbug.com/405925

– pwnall
2014年8月21日在13:08

#2 楼

这不是浏览器的问题,而是Android处理DHCP的方式:它只是忽略提供的DNS服务器并坚持使用其预先配置的Google DNS-当然,它不知道您的本地主机名。因此,下面是解决此问题的方法:


打开设置

导航到WiFi

导航到WiFi网络的条目。
长按该条目,然后选择编辑。
激活高级设置

从DHCP切换到静态,然后用您自己的第一个DNS服务器(通常是8.8.8.8)替换
保存

(可以选择在更改DNS服务器后尝试切换回DHCP,并查看是否保留了该服务器)

现在Android应该使用您的DNS服务器首先,只有在您无法解决问题时才切换到辅助。这意味着,应该立即从Chrome或任何其他浏览器以及任何其他应用程序中找到您的“ mylaptop.local”。

在您询问之前:此设置(如上所述)仅适用于修改后的WiFi AP。因此,不用担心您会影响其他任何人。如果有任何问题,您可以随时删除AP并重新创建。

评论


只是为了澄清;最初的问题实际上与本地DNS服务器的使用无关,而是使用mDNS(又名Bonjour)以及特殊的“ .local”域名,在某些系统上,该域名设置为发布mDNS查询而不是DNS查询。

–法律
13年8月2日在13:25

设置静态IP地址后,我莫名其妙地在本地子网上的所有设备上收到“网络无法访问”的消息。

–迈克尔
16 Dec 27 '23:39