|
@@ -54,27 +54,31 @@ public class UdpServerService {
|
|
|
DatagramPacket packet = new DatagramPacket(data, data.length);
|
|
|
|
|
|
String uavData = "";
|
|
|
- long initMilli = Instant.now().toEpochMilli();
|
|
|
|
|
|
- while (true) {
|
|
|
+ long initMilli = 0;
|
|
|
+ long epochMilli = 0;
|
|
|
|
|
|
+ while (true) {
|
|
|
+ epochMilli = Instant.now().toEpochMilli();
|
|
|
//使用数据包接收客户端发送的数据
|
|
|
INSTANCE.receive(packet);
|
|
|
// 设置初始时间,用于计算每个数据的时间差
|
|
|
if(TaskInfo.INSTANCE.getInitFlag()){
|
|
|
- initMilli = Instant.now().toEpochMilli();
|
|
|
+ initMilli = epochMilli;
|
|
|
+ TaskInfo.INSTANCE.setInitMilli(initMilli);
|
|
|
log.info("任务Id:{},任务开始,开始时间是:{}", TaskInfo.INSTANCE.getBizId(), initMilli);
|
|
|
}
|
|
|
uavData = new String(data, 0, packet.getLength());
|
|
|
byte[] remoteData = UdpDataUtils.hexStringToBytes(uavData);
|
|
|
// 将日志条目放入队列
|
|
|
- long lastTime = Instant.now().toEpochMilli() - initMilli;
|
|
|
+ long lastTime = epochMilli - initMilli;
|
|
|
String jsonResult = UdpUtils.getJson(remoteData, lastTime);
|
|
|
if(StringUtils.isEmpty(jsonResult)){ // 如果解析完数据为null 则跳过
|
|
|
continue;
|
|
|
}
|
|
|
TaskInfo.INSTANCE.getLogQueue().add(new TaskInfo.LogEntry(jsonResult, lastTime));
|
|
|
- TaskInfo.INSTANCE.setLastTime(lastTime);
|
|
|
+ log.info("飞机日志,时间:{}",lastTime);
|
|
|
+ TaskInfo.INSTANCE.setLastTime(epochMilli);
|
|
|
session.getBasicRemote().sendText(jsonResult);
|
|
|
}
|
|
|
} catch (IOException e) {
|