我一直在使用 TK06A GPS 跟踪器,并且正在开发自己的服务器 java 文件,并且根据 TK06A 手册收到了初始登录消息包,现在我需要将 ack 发送回设备以获取 GPS 消息包。
我没有收到保存坐标的 GPS 消息包。我在下面添加代码。我确信在获得 LOC 中的 IMEI 号码是正确的之前,我在输出流/发送 Ak 时遇到问题。我完全被这里打动了。我不知道我哪里错了。
请帮忙!
public void run() {
DataInputStream inputS = null;
DataOutputStream dos = null;
try {
inputS = new DataInputStream(socket.getInputStream());
if (inputS.available() > 0) {
byte[] bb = getBytesFromInputStream(inputS);
ChannelBuffer buf = toByteBuffer(bb);
String imei = readImei(buf);
System.out.println("IMEI::::: " + imei);
buf.skipBytes(5); // End
OutputStream os = socket.getOutputStream();
dos = new DataOutputStream(os);
byte[] response = parseHex();
dos.write(response);
Thread.sleep(1000);
dos.flush();
}
} catch (Exception e) {
e.printStackTrace();
}
finally {
try {
inputS.close();
if (dos != null)
dos.close();
socket.close();
} catch (IOException e) {
}
}
}
public byte[] parseHex() {
String hexACKlogin = "787805010001D9DC0D0A"; // String in HEX format
int len = hexACKlogin.length();
byte[] data = new byte[len / 2];
for (int i = 0; i < len; i += 2) {
data[i / 2] = (byte) ((Character.digit(hexACKlogin.charAt(i), 16) << 4)
+ Character.digit(hexACKlogin.charAt(i+1), 16));
}
return data;
}