Android 2.3.5電話で、LANネットワーク上で可能なすべてのRaspberry Pi(Raspbianを実行)を一覧表示しようとしています。ネットワーク上には他のデバイスがあるので、疑似コードでこれを実行しようと思った方法は次のとおりです。
foreach ip 0..254
hn = gethostname("192.168.0." + ip);
if(hn == "rpi*") {
do_something();
}
RPiのホスト名を次のように設定しました。
sudo hostname rpi0
私のルーターは、RPiがに接続されていることを示しています192.168.0.4
。ping
Win7 PCからIPアドレスを取得できますが、ホスト名、IPまたはホスト名192.168.0.4
を取得できません。ping
nslookup
電話のJavaで以下のコードを試してみると、到達可能であると表示されますが、get hostname行は、ホスト名ではなくIPアドレスを返します。これは、ホスト名が見つからない場合に実行されるはずです。
InetAddress inetAddress = InetAddress.getByAddress(ipAddress);
Log.d(TAG, inetAddress.isReachable(5000));
Log.d(TAG, inetAddress.getHostName());
誰かが私が間違っていることを知っていますか?これは、LAN上の1つのタイプのデバイスすべてを見つけるための正しい方法でさえありますか?もしそうなら、私は物事のアンドロイド側が正しいとかなり確信していますが、LANについてはあまり知りません。
PSこの質問が長くて複雑な場合は申し訳ありませんが、私が試したすべてのものを含めたいと思いました。また、私は次のように主張するVirginSuperhubを使用しています。
Software version "R36"
Hardware version 2.00
ありがとう