Чтение с устройства GPS-слежения, входного потока - PullRequest
0 голосов
/ 01 ноября 2011

Для нового проекта я использую устройство слежения GPS.Это устройство каждые 10 секунд отправляет информацию на мой java-сервер.Я также создал приложение для Android.В приложении android открываю соединение с сервером, отправляю данные и снова закрываю соединение.

Проблема в том, что устройство отслеживания не закрывает соединение каждый раз.

Что у меня есть:

У меня есть многопоточный сервер, который запускает новый поток при наличии нового соединения.Я могу прочитать в информации, что трекер посылает мне НО только первый пункт, после чего я больше не получаю информацию (ну, я получаю ее, но не могу отобразить ее).

Когда я используюкод .readLine () работает, если я выключил трекер (и соединение. Но это не решение, это не называется Live Tracking

Это то, что я сейчас использую для чтения

public Request(Socket connectionSocket) throws IOException {
    System.out.println(connectionSocket.getInetAddress().toString());
    InputStreamReader temp = new InputStreamReader(connectionSocket.getInputStream());
    StringBuilder out = new StringBuilder();
    int read = 0;
    out = new StringBuilder();

    char[] buffer = new char[0x127];
    do {
        System.out.println("test");
        read = temp.read(buffer, 0, buffer.length);
        System.out.println(temp.toString());
        if (read > 0) {
            out.append(buffer, 0, read);
        }
        System.out.println(out.toString());
        this.handleRequest(out.toString());

     } while (temp.read() != 0);


    connectionSocket.close();

    clientSentence = out.toString();
    System.out.println(out.toString());
 }

Может ли кто-нибудь помочь мне, как я могу прочитать всю информацию. Строка информации ВСЕГДА 127 символов.

Спасибо

Wouter

1 Ответ

0 голосов
/ 03 ноября 2011

Выражение while содержит вторую функцию read (), которая пытается прочитать 128-й символ.Это блокирует и выходит из синхронизации.

Я думаю, что в цикле должно быть только одно «чтение (буфер, 0, 127)», чтобы прочитать только 127 символов.

...