开发人员在此处为移动应用程序制作原型,这对移动设备有些陌生:


我的主笔记本电脑上正在运行一个简单的HTTP服务(当前),机器名称为latitude。共享同一个WiFi网络的vaio可以通过http://latitude:8080访问该服务-换句话说,它可以以某种方式轻松地解析latitude的(当前)IP 192.168.xy(或当时具有的任何动态IP)。
现在我的HTC Android手机(连接到相同的WiFi网络)可以访问latitude的IP地址,因此可以在其浏览器http://192.168.x.y:8080中打开。
但是我也想在这里使用计算机名称,例如访问来自vaio的HTTP服务,只需键入http://latitude:8080并让电话解析latitude的当前动态IP。这不起作用,只能得到标准的浏览器错误页面:“网页不可用”。

我需要调整Android中的某些DNS设置吗?还没有从设置中找到任何东西,而且众所周知,这样的问题也很难谷歌搜索...

One V具有Android 4.0,One M7具有Android 4.2以防万一

(请注意,即使Android未通过USB连接到我的计算机且未充当WiFi热点,这也应能正常工作-显然,因为它消耗了我的主要WiFi网络无论如何)。

评论

相关:如何通过主机名ping本地网络主机?

#1 楼

无论您是否通过WiFi连接到本地网络以及是否正在使用DHCP,Android似乎总是会使用Google的服务器覆盖其DNS条目。如果您已经运行了自己的DNS(很多路由器已经提供了该功能),它就有些隐藏了,但很容易更改。

要这样做,请转到“设置”中的WiFi网络列表,长按按您的WiFi条目,选择进行编辑。激活高级设置。现在,您可以编辑DNS条目。只需将第一个条目替换为您自己的DNS服务器的IP,然后保留第二个条目(DNS 2)即可回退。

现在,如果您自己的DNS可以解析本地网络的计算机,则应该能够使用其主机名与他们联系。无需root也无需编辑hosts文件(如果您没有自己的DNS服务在运行,则可以选择这种方法)。与我和我的网络在这里表现出色;)

评论


谢谢!这很奇怪,当我这样做时,我的路由器(网关)也已经输入为DNS1(Google或8.8.4.4为DNS2)。好吧,我将使用这些默认值并应用它们,在Windows计算机上启用了NetBIOS和SMB,但仍然没有名称解析...

–metaleap
13年8月28日在11:52

我没有Windows计划。就我而言,这是一个基于Linux的环境,并且路由器(AVM Fritz!Box)运行着一个名称服务器。工作顺利。

– Izzy♦
13年8月28日在16:07

这最多(即使是偶数)仅适用于旧版本的Android。我的第一个dns是我的本地dns,后备版本是google的8.8.8.8。用getprop查找它| grep -i dns另请参见android.stackexchange.com/a/32278/15713

–ce4
13-10-29在22:24



Firefox的行为有所不同,并且没有显示此行为,我想这是Chrome的多功能框(组合搜索/ URI输入框)完成的

–ce4
13年10月29日在22:39

Firefox不使用自己的DNS服务器(至少我想知道是否)。所有软件通常都会向系统询问该信息,因此浏览器在这里应该无关紧要。 @ ce4:是的,这就是我在设备上手动配置它的方式:同样的回退,但是主要的我必须手动将4.4.4.4更改为本地DNS服务器。我知道我的DHCP服务器发送了该信息,但是没有看到一个Android设备兑现该信息。

– Izzy♦
13-10-29在23:36

#2 楼

当我想要机器名称而不是IP时,我编辑HOSTS文件。尝试在其中添加设备及其IP地址。用google搜索适合您操作系统的主机文件应该很容易。

评论


仅当便携式计算机的IP地址始终保持静态/不变时,编辑HOSTS才有用。当我在旅途中,不同的WiFi网络,动态IP地址时,情况就不会如此。另外,编辑HOSTS需要一个扎根的Android,但我需要它保持不扎根且在很大程度上不受干扰,可以在“普通消费者手机”条件下进行测试。

–metaleap
13年8月28日在11:54

#3 楼

使用ES Explorer(需要有根设备)在设备的主机文件(/etc/hosts)文件的末尾添加两行。

模板:

your_host_machine's_IP_address  domain_name   


domain_name的示例可以是localhost

示例:

::1  domain_name 


在URL栏中输入localhost而不是IP地址时,它可以很好地工作。

评论


我将\ etc \ hosts更正为/ etc / hosts并在格式上进行了一些更改。我尝试不改变意图,但使其看起来更好。让我知道我是否在某个地方搞砸了。

–Firelord♦
16-2-12在5:48



#4 楼

以我为例,在Windows 10上,暂时关闭Windows防火墙使浏览到http://latitude:8080成为可能。

从长远来看,我创建了一条规则,让这些连接通过防火墙...



{Windows}>“开始”>“防火墙”>具有高级安全性的Windows Defender防火墙。入站规则>新建规则...


常规


名称:来自LAN的TCP Web连接
如果允许,则允许连接安全...
选择:“如果连接经过身份验证和完整性保护,则允许连接”


协议和端口


协议类型:TCP
本地端口:80,880


高级


指定配置文件以符合以下规则:私有




{Android}。使用Firefox或Chrome(而不是Dolphin)进行测试