Чтение данных с устройства GPS - PullRequest
1 голос
/ 07 февраля 2012

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

Что я ищу:

A. Считайте данные с устройства и сохраните их в некотором промежуточном месте, поскольку у нас есть TCP-прослушиватель, с помощью которого устройство связывается с нами.

B. Я не хочу выполнять какие-либо операции, такие простые, как любые другие данные или данные любого формата, если устройство GPS отправлено слушателю, оно должно прослушивать и сохранять его без каких-либо манипуляций.

Спасибо

Ответы [ 2 ]

0 голосов
/ 29 марта 2017

Я предоставляю пример кода для его проверки:

public class ServerListener {

public static void main(String[] args) {
    new ServerListener().startServer();
}

public void startServer() {
    final ExecutorService clientProcessingPool = Executors.newFixedThreadPool(03);

    Runnable serverTask = new Runnable() {
        @SuppressWarnings("resource")
        @Override
        public void run() {
            try {
                ServerSocket serverSocket = new ServerSocket(5094);
                System.out.println("Waiting for clients to connect...");
                while (true) {
                    Socket clientSocket = serverSocket.accept();
                    clientProcessingPool.submit(new ClientTask(clientSocket));
                }
            } catch (IOException e) {
                System.err.println("Unable to process client request");
                e.printStackTrace();
            }
        }
    };
    Thread serverThread = new Thread(serverTask);
    serverThread.start();
}

private class ClientTask implements Runnable {
    private final Socket clientSocket;

    private ClientTask(Socket clientSocket) {
        this.clientSocket = clientSocket;
    }

    @Override
    public void run() {
        System.out.println("Got a client !");
        while (true) {

        try {
            BufferedReader reader = new BufferedReader( new InputStreamReader(clientSocket.getInputStream()));
            String clientData = "";

            clientData = reader.readLine();
            System.out.println("clientdata::::"+clientData);


        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    }


 }
}
0 голосов
/ 07 февраля 2012

Этот код может вам помочь.

...