首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在LAN设备上看不到主机名

问在LAN设备上看不到主机名
EN

Stack Overflow用户
提问于 2012-11-27 08:37:44
回答 1查看 2.5K关注 0票数 1

我正在尝试让我的Android 2.3.5手机列出我的局域网网络上所有可能的Raspberry Pis (运行Raspbian)。网络上还有其他设备,所以我想用伪代码做这件事的方式是:

代码语言:javascript
复制
foreach ip 0..254
    hn = gethostname("192.168.0." + ip);
    if(hn == "rpi*") {
        do_something();
    }

我已使用以下命令成功设置了RPi的主机名:

代码语言:javascript
复制
sudo hostname rpi0

我的路由器显示RPi已连接到192.168.0.4。我可以从我的Win7 PC ping通ip地址192.168.0.4,但是我无法ping通该主机名,也无法nslookup通该ip或主机名。

当我用java在我的手机上尝试下面的代码时,它声称它是可访问的,但get hostname行返回ip地址而不是主机名,我认为如果找不到主机名,它应该这样做:

代码语言:javascript
复制
InetAddress inetAddress = InetAddress.getByAddress(ipAddress);
Log.d(TAG, inetAddress.isReachable(5000));
Log.d(TAG, inetAddress.getHostName());

有人知道我做错了什么吗?这是一种在LAN上查找所有一种类型设备的明智方法吗?如果是这样的话,我相当确定我的android方面的事情是正确的,但我对LAN了解不多。

PS如果这个问题很长很复杂,我很抱歉,我想包括我尝试过的一切。另外,我使用的是Virgin Superhub,它声称:

代码语言:javascript
复制
Software version "R36"
Hardware version 2.00

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-27 08:45:18

简而言之:您的DNS没有按照您期望的方式工作-它在主机名rpi0和IP地址192.168.0.4之间没有关联。

这可能有许多原因,其中之一是,并不是所有的家庭路由器都保留本地区域-如果您的路由器是这种情况,那么您只是运气不佳。

如果您的路由器确实保留了本地区域,请确保您的PI使用正确的主机名运行其DHCP请求-您只需在设置主机名后断开/重新连接它们即可。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13575625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档