Sapete dirmi perchè dentro il ciclo che legge il contenuto del BufferedReader passa la prima volta e poi si blocca????


import java.io.*;
import java.net.*;
public class Prove {

/** Creates a new instance of Prove */
public Prove() {
}

public static void main(String[] args) {

Socket echoSocket = null;
PrintWriter out = null;
BufferedReader in = null;

try {

//mi connetto al server
echoSocket = new Socket("www.royaldemeure.com", 21);

//prendo il PW per inviare stringhe
out = new PrintWriter(echoSocket.getOutputStream(), true);

//prendo la risposta del server
in = new BufferedReader(new InputStreamReader(echoSocket.getInputStream()));

//
while ((userInput = in.readLine()) != null) {
System.out.println("1: " + userInput);
}

out.close();
in.close();
stdIn.close();
echoSocket.close();

}catch (Exception e) {
System.err.println("Errore: " + e.getMessage());
}

}


}