como usar o socket.setSoTimeout ()?

Quando você define um tempo limite em um soquete comsocket.seSoTimeout(5000); o soquete fecha ou simplesmente para de escutar após o tempo limite? Terei que abrir o soquete novamente para continuar ouvindo ou ele será aberto automaticamente?

receivingSocket.setSoTimeout(5000); // set timer
try{
  receivingSocket.receive(packet);
}
catch(SocketTimeoutException e){
  System.out.println("### Timed out after 5 seconds.");
}
//will I have to reopen the socket here?

questionAnswers(2)

yourAnswerToTheQuestion