Check for incoming data in Java Socket
Use the Stream.Available() method. You might also want to wait until the right amount of bytes is received and wait so the Thread is not running 100% of the time.
while(Stream.Available() != 0); //block until there is data
try{
return in.readLine();
} catch (IOException e) {
System.err.println("Send: Error on BufferedReader.readLine() - IOException");
}