0

は、次のコードは、スレッドの実行()セグメントで発生:ドキュメントでは、とにかくスレッドをブロックする場合、whileループでBluetoothServerSocket.accept()が呼び出されるのはなぜですか?アンドロイドドキュメントで

BluetoothSocket socket = null; 
     // Keep listening until exception occurs or a socket is returned 
     while (true) { 
      try { 
       socket = mmServerSocket.accept(); 
      } catch (IOException e) { 
       break; 
      } 
      // If a connection was accepted 
      if (socket != null) { 
       // Do work to manage the connection (in a separate thread) 
       manageConnectedSocket(socket); 
       mmServerSocket.close(); 
       break; 
      } 
     } 

しかし、スレッド()メソッドブロックを受け入れます。したがって、なぜwhile()ループが必要なのか理解できません。なぜなら、すべての可能な状況でwhileループが最初の実行で壊れているからです。

アイデア?

+0

私はこれを答えとして受け入れることができました、ありがとう – Userrrrrrrrr

+0

さて、あなたはできます: - | – EJP

+0

すでにあります、ありがとう;) – Userrrrrrrrr

答えて

1

通常、1つのソケットを受け入れて処理した後では、ブレークはありません。ソケットを無期限に受け入れます。

これは愚かな例です。

+0

@gedo Androidがこのような馬鹿げた例を投稿する理由はわかりません。あなたもそうではありませんし、この性質の推測の場でもありません。私はそれが他の何かの別の例から単純に切り落とされてしまった可能性が高いと考えています。そして、欠けている '休憩 'が追加されて動作するようになりましたが、この推測はすべて完全にオフトピックです。 – EJP

関連する問題