在android文档中,以下代码出现在线程的run()段中:
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;
}
}
但是,accept()方法会阻塞该线程。因此,我不明白为什么需要while()循环,特别是因为在所有可能的情况下,while循环在第一次运行时都被破坏了。
有什么想法吗?
答案 0 :(得分:1)
通常在接受和处理一个套接字后不会中断:你会无限期地循环接受套接字。
这是一个愚蠢的例子。