내 LAN 네트워크에서 가능한 모든 Raspberry Pis (Raspbian 실행) 목록을 내 Android 2.3.5 전화로 가져 오려고합니다. 이 네트워크의 다른 장치는, 그래서 의사 코드에서,이 일에 대해 갈 생각하는 방식이었다 :LAN 장치에서 호스트 이름을 볼 수 없습니다.
sudo hostname rpi0
:
foreach ip 0..254
hn = gethostname("192.168.0." + ip);
if(hn == "rpi*") {
do_something();
}
나는 성공적으로 RPI의 호스트 이름을 설정 한
라우터가 RPi가 192.168.0.4
에 연결되어 있음을 보여줍니다. ping
내 Win7 PC에서 ip 주소 192.168.0.4
수 있지만 ping
호스트 이름, 또는 nslookup
IP 또는 호스트 이름을 수 없습니다.
내 전화에서 자바로 아래의 코드를 시도하면 연결할 수 있다고 주장하지만 get hostname 줄은 호스트 이름이 아닌 ip 주소를 반환합니다. 호스트 이름을 찾을 수없는 경우 호스트 이름 대신 IP 주소가 반환됩니다. :
InetAddress inetAddress = InetAddress.getByAddress(ipAddress);
Log.d(TAG, inetAddress.isReachable(5000));
Log.d(TAG, inetAddress.getHostName());
내가 뭘 잘못하고 있는지 알아? LAN상에서 하나의 유형의 장치를 모두 찾는데도 이것은 정상적인 방법입니까? 그렇다면, 나는 안드로이드 측면이 정확하다고 확신하지만, LAN에 대해서는 그다지 잘 모른다.
추신 : 죄송합니다.이 질문이 길고 복잡하면 시도한 모든 것을 포함하고 싶습니다.
Software version "R36"
Hardware version 2.00
감사
한마디로