张世豪
3 天以前 0930bed760105b81e2e5055801bec6d6e8d57358
src/udpdell/UDPServer.java
@@ -1,4 +1,5 @@
package udpdell;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
@@ -7,6 +8,7 @@
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicInteger;
import Mqttmessage.Client;
import gecaoji.Device;
import zhuye.Coordinate;
@@ -35,6 +37,7 @@
      thread.setDaemon(false); // 保持 JVM 持续存活
      thread.start();
      serverThread = thread;
//    Client.test();
      return thread;
   }
@@ -83,28 +86,28 @@
      }
      // 检查包头是否正确
      if (!fields[0].equals("$GNGGA")) {
      if (!fields[0].equals("$GNGGA") && !fields[0].equals("$GPGGA") && !fields[0].equals("$GBGGA")) {
         System.err.println("Invalid message header: " + fields[0]);
         return;
      }
      int sequence = incrementReceivedPacketCounter();
      System.out.println("收到了差分数据(" + sequence + "):" + message);
      // 使用Gpstoxuzuobiao处理并获取XY坐标
      double[] xy = Gpstoxuzuobiao.processGNGGAToXY(message);
      if (xy != null) {
         // 这里可以将XY坐标传递给其他方法使用
         // System.out.println("UDP GNGGA -> XY: " + xy[0] + ", " + xy[1]);
      }
      Coordinate.parseGNGGAToCoordinateList(message);
      int count = Coordinate.coordinates.size();
      System.out.println("savenum:" + count);
      Device.updateFromGNGGA(message, fields[15]);
   }
   /**处理串口接收到的数据*/
   /** 处理串口接收到的数据 */
   public static void processSerialData(String message) {
      String[] fields = message.split(",");
      // 检查字段数量是否完整
@@ -114,20 +117,20 @@
      }
      // 检查包头是否正确
      if (!fields[0].equals("$GNGGA")) {
      if (!fields[0].equals("$GNGGA")&&!fields[0].equals("$GPGGA")&&!fields[0].equals("$GBGGA")) {
         System.err.println("Invalid message header: " + fields[0]);
         return;
      }
      int sequence = incrementReceivedPacketCounter();
      System.out.println("收到了串口数据(" + sequence + "):" + message);
      // 使用Gpstoxuzuobiao处理并获取XY坐标
      double[] xy = Gpstoxuzuobiao.processGNGGAToXY(message);
      if (xy != null) {
         // 这里可以将XY坐标传递给其他方法使用
         // System.out.println("Serial GNGGA -> XY: " + xy[0] + ", " + xy[1]);
      }
      Coordinate.dellchuankougngga(message);
      int count = Coordinate.coordinates.size();
      System.out.println("savenum:" + count);