:)ネットワーク全体をスキャンして特定の開いているポートを見つけるAndroidアプリを作成しようとしています。Android Studio (Windows) とエミュレーターを使用しています。プログラムの実行が停止する前に、ネットワークを 90 秒間スキャンできます。logcat エラーが発生せず、デバッガーのスタックとプログラム カウンターが失われます。最初にエミュレーターを再起動しないと、プログラムを再起動できません。エミュレーターとの接続が失われたようです。
また、ソケット接続ラインを削除すると、タスクが無期限に実行されることにも言及する必要があります。この種のタイムアウトを経験したことのある人はいますか?
正しい方向へのポインタは大歓迎です!!
ジェニー
private class getNetworkState extends AsyncTask<Integer, Integer, Integer> {
@Override
protected Integer doInBackground(Integer... params) {
for (int subnet2 = 216; subnet2 < 220; subnet2++)
{
for (int subnet = 0; subnet < 255; subnet++)
{
// open a tcp socket
String server = String.format("192.168.%d.%d", subnet2, subnet);
Socket socket = new Socket();
try
{
socket.connect(new InetSocketAddress(server, port), timeOut);
System.out.println("Network state of " + server + " == " + socket.isConnected());
socket.close();
}
catch (Exception e)
{
System.out.println("Network state of " + server + " == " + e);
}
}
}
return 1;
}