GPS Tracker GT06 Отправить пакет входа на терминал в C # - PullRequest
0 голосов
/ 26 сентября 2018

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

Полученная строка от терминала к серверу:

78-78-0D-01-03-58-51-10-22-16-34-42-00-03-1A-8E-0D-0A

Код для отправки ответа на входящие пакеты с сервера на терминал:

    string sendData = "78780501" + serialNo + "D9DC0D0A";
    Send(handler, sendData);

    private static void Send(Socket handler, String data)
    {

        byte[] byteData = StringToByteArray(data);
        handler.BeginSend(byteData, 0, byteData.Length, 0,
            new AsyncCallback(SendCallback), handler);
    }

    private static void SendCallback(IAsyncResult ar)
    {
        try
        {
            // Retrieve the socket from the state object.  
            Socket handler = (Socket)ar.AsyncState;

            // Complete sending the data to the remote device.  
            int bytesSent = handler.EndSend(ar);
            Console.WriteLine("Sent {0} bytes to client.", bytesSent);

            handler.Shutdown(SocketShutdown.Both);
            handler.Close();

        }
        catch (Exception e)
        {
            Console.WriteLine(e.ToString());
        }
    }

    public static byte[] StringToByteArray(String hex)
    {
        int NumberChars = hex.Length;
        byte[] bytes = new byte[NumberChars / 2];
        for (int i = 0; i < NumberChars; i += 2)
            bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
        return bytes;
    }

Выше приведен код, которым я являюсьв настоящее время использую, но это не работает для меня.Каждый раз, когда я получал пакеты входа в систему вместо данных о местоположении.Пожалуйста, направьте меня туда, где мне нужно исправить код.

Спасибо, Хирен Лад.

1 Ответ

0 голосов
/ 16 августа 2019

Вы должны добавить после serialNo, Проверку ошибок, которую вы получили в начале.

Пример: "78780501" + serialNo + ErrorCheck + "0D0A";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...