Wi-Fi ネットワークに接続しているときに、ブロードキャスト ping (つまり、ping 192.178.1.255) に対してデバイスをプログラムで応答させたいと考えています。
それを行う方法はありますか?おそらく、ping を返すリスナー、またはどこかに設定するフラグですか?
ありがとう。
Wi-Fi ネットワークに接続しているときに、ブロードキャスト ping (つまり、ping 192.178.1.255) に対してデバイスをプログラムで応答させたいと考えています。
それを行う方法はありますか?おそらく、ping を返すリスナー、またはどこかに設定するフラグですか?
ありがとう。
それを行う方法はありますか?
要するに:はい。しかし、必要なコンポーネントを統合するにはかなりの努力が必要です。
重要な問題は、ICMP ネットワーク パケットをリッスンする必要があることです。このような機能は Java からはアクセスできず、JNI コードまたは外部プログラムが必要になります。(私の知る限り、ルート化されたデバイスも必要です。)
Jpcapなどのネットワーク トラフィックを処理できるライブラリまたはプログラムが必要です (Android で動作させるには、多少の変更が必要です)。のインスタンスをバックグラウンドでインストールして実行し、tcpdump
その出力を解析することもできます。
アプリが Android で ICMP Echo リクエストを送受信することはできません。(ルート化されたデバイスには方法があるかもしれません)
ただし、基本的な目標がある種のローカル デバイス検出機能を実装することである (そしてコードがすべてのデバイスで実行される) 場合は、代わりに UDP ブロードキャスト/マルチキャスト メッセージを使用できます。