0

現在、Android アプリと iOS アプリの間のソケットベース システムを開発しています。iOS はサーバーとして機能します (Bourjour を使用してサービスを公開します)。Android アプリはクライアントとして機能し、サーバーをスキャンし、リストビューにサーバーのリストを表示し、ユーザーの意志でサーバーに接続します。どちらもエミュレーター (最終的には実際のデバイス) で実行されます。システム用の特定のポートを取得しました。たとえば、49300 です。問題は、スキャンするローカル IP アドレス (192.168.xx) が多すぎて、255 * 255 になることです。ジョブを実行するキュー タスクを作成します。フローは次のとおりです。

scan for subnet with for-loop x = 0 -> 255
     scanner >= (QUEUE = 5)
       wait();
     new thread scan for 192.168.x.y with for-loop y = 0 -> 255
     scanner++

スキャンスレッド:

scan for 192.168.x.y with for-loop y = 0 -> 255
         if 192.168.x.y reachable then
            add to list
    end for
    scanner--;
    notify();

しかし、アプリが行うにはあまりにも多くの作業があるようです.Androidシミュレータはちょうどシャットダウンしました.どんな助けでも大歓迎です.

4

0 に答える 0