Разрабатываю приложение Netty. В том, что я читаю пакеты данных от клиента. Но есть одно устройство под названием Teltonika. Сначала это устройство отправляет номер IMEI, а после подтверждения отправляет трекпакет.
Но проблема здесь в том, что он отправляет правильный номер IMEI, но отправляемый TarckPacket остается в нечитаемом формате. Пожалуйста, помогите мне.
'IMEI NO: [0, 15, 51, 53, 50, 56, 52, 56, 48, 50, 50, 55, 57, 49, 55, 49, 53]'
Устройство, отправляющее номер IMEI, имеет правильный формат, но приведенный ниже пакет отслеживания не является правильным форматом.
Пакет отслеживания:
[0, 0, 0, 0, 0, 0, 0, -61, 8, 4, 0, 0, 1, 53, -117, 86, 80, -56, 0, 46, 60, 22 , -128, 7, -60, -27, 40, 3, -118, 1, 92, 10, 0, 0, 0, 6, 2, 1, 1, 2, 0, 3, 9, 0, 23 , 10, 0, 13, 24, 0, 0, 1, -57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 53, -117, 85, 101, -18, 0, 46, 60, 22, -128, 7, -60, -27, -112, 3, -119, 1, 92, 9, 0, 0, 0, 6, 2, 1, 1, 2, 0, 3, 9 , 0, 27, 10, 0, 10, 24, 0, 0, 1, -57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 53, -117, 84, 123, 21, 0 , 46, 60, 22, -128, 7, -60, -27, -112, 3, -121, 1, 92, 8, 0, 0, 0, 6, 2, 1, 1, 2, 0, 3, 9, 0, 27, 10, 0, 12, 24, 0, 0, 1, -57, 0, 0, 0, 0, 0, 0, 0, 0, 1, 53, -117, 83, -115 , -78, 0, 46, 60, 22, -128, 7, -60, -27, -48, 3, -121, 1, 92, 11]
Что я сделал:
StringBuffer sbs = new StringBuffer();
buf = (ChannelBuffer) e.getMessage();
while(buf.readable())
{
sbs.append((char) buf.readByte());
}
msg = sbs.toString();
System.out.println(msg);
byte[] request = new byte[] { 0x01 };
e.getChannel().write(ChannelBuffers.wrappedBuffer(request));
System.out.flush();