Socket rastreamento

Alguém pode ajudar. Sou um pouco leigo em Java, mas estou com um desafio que é criar um socket para um rastreador.
Bem o código que estou usando é esse:

package socket;

[code]import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
import java.io.;
import java.net.
;

public class Servidor {
public static void main(String[] args) throws IOException {
ServerSocket servidor = new ServerSocket(9003);
System.out.println(“Porta 9003 aberta!”);

 Socket cliente = servidor.accept();
 while (true) {
 
 InputStreamReader isr = new InputStreamReader(cliente.getInputStream() );
 BufferedReader in = new BufferedReader(isr); 
 

 System.out.println(in.readLine());
 }

}
}[/code]

O equipamento tem uma configuração interna onde com ignição ligada ele manda informação a cada minuto e desligado a cada 15 minutos. Ocorre que após algum tempo com a ignição ligada, embora o equipamento este enviando, o socket não recebe a informação ou não escreve.
A informação que chega é essa abaixo;
SA200STT;446769;134;20130910;18:14:33;4fa046;-05.849529;-035.201162;000.250;000.00;3;1;68848;12.25;100000;2;0291

Não conheço o protocolo do aparelho. Mas é certeza que sempre existe uma quebra de linha?

Sim, sempre quebra. Quando debugo, ele sempre para na linha do print e fica aguardando, como o equipamento fica ligado observo os leds e vejo que ele está mandando a informação.

Teria alguma forma forçar o socket a puxar nova informações?