while(true)vs socket.accept()

时间:2012-05-12 18:00:23

标签: java sockets

我在Java中阅读了一些关于套接字的教程,我发现不同的例子对如何使用ServerSocket类有不同的解释。

例如,这里有两种不同的实现:

 Socket s = serverSocket.accept();
 //using s

while(true)
{
   Socket s = serverSocket.accept();
}

这两种情况有什么区别?

3 个答案:

答案 0 :(得分:7)

第一个只接受一个连接,而第二个连接将继续接受更多连接(每次连接到Socket s = serverSocket.accept();

答案 1 :(得分:2)

来自文档:

  

侦听与此套接字的连接并接受它。该方法将阻塞,直到建立连接。

在第一个示例中,您只使用一个连接,在第二个连接中使用无限连接,直到您手动停止它们(break

答案 2 :(得分:2)

第二个示例永远保持accept连接