826220679@qq.com
9 小时以前 69b40096cb0ae965f2a3e92672b880edfe7d04d2
src/udpdell/UDPServer.java
@@ -1,5 +1,4 @@
package udpdell;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
@@ -7,11 +6,8 @@
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicInteger;
import Mqttmessage.Client;
import gecaoji.Device;
import zhuye.Coordinate;
import publicway.Gpstoxuzuobiao;
public class UDPServer {
@@ -37,7 +33,6 @@
      thread.setDaemon(false); // 保持 JVM 持续存活
      thread.start();
      serverThread = thread;
//    Client.test();
      return thread;
   }
@@ -55,8 +50,6 @@
      ExecutorService executor = Executors.newFixedThreadPool(THREAD_POOL_SIZE);
      try (DatagramSocket socket = new DatagramSocket(PORT)) {
         System.out.println("UDPServer started on port " + PORT);
         while (!Thread.currentThread().isInterrupted()) {
            byte[] buffer = new byte[BUFFER_SIZE];
            DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
@@ -81,7 +74,7 @@
      String[] fields = message.split(",");
      // 检查字段数量是否完整
      if (fields.length != 21) {
         System.err.println("Invalid message format, expected 21 fields but got " + fields.length);
         System.err.println("Invalid message format, expected 21 fields but got " + fields.length + ". Message content: [" + message + "]");
         return;
      }
@@ -91,7 +84,6 @@
         return;
      }
      int sequence = incrementReceivedPacketCounter();
      System.out.println("收到了差分数据(" + sequence + "):" + message);
      // 使用Gpstoxuzuobiao处理并获取XY坐标
      double[] xy = Gpstoxuzuobiao.processGNGGAToXY(message);
@@ -102,13 +94,13 @@
      Coordinate.parseGNGGAToCoordinateList(message);
      int count = Coordinate.coordinates.size();
      System.out.println("savenum:" + count);
      Device.updateFromGNGGA(message, fields[15]);
   }
   /** 处理串口接收到的数据 */
   public static void processSerialData(String message) {
      message=message.replace("GPGGA", "GNGGA");
      String[] fields = message.split(",");
      // 检查字段数量是否完整
      if (fields.length < 15) {
@@ -122,7 +114,6 @@
         return;
      }
      int sequence = incrementReceivedPacketCounter();
      System.out.println("收到了串口数据(" + sequence + "):" + message);
      // 使用Gpstoxuzuobiao处理并获取XY坐标
      double[] xy = Gpstoxuzuobiao.processGNGGAToXY(message);
@@ -133,7 +124,6 @@
      Coordinate.dellchuankougngga(message);
      int count = Coordinate.coordinates.size();
      System.out.println("savenum:" + count);
      Device.updateFromSerialGNGGA(message);
   }