From 04122050f9b2bf5612d26f8394cc2ead03b57258 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期五, 10 十二月 2021 18:09:01 +0800
Subject: [PATCH] 2021-12-10 1.优化UDP发送

---
 HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java |    2 ++
 HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketOptions.java          |   10 ++++++++++
 HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/UdpClient.java       |   13 ++++---------
 HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java             |    4 ++++
 4 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
index 46757ec..8728c84 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
@@ -109,6 +109,8 @@
         if (updBoot == null) {
             updBoot = UdpClient.init(ip, UDP_PORT, getUdpOptions());
             updBoot.connect();
+        }else{
+            updBoot.getClient().getOptions().setIp(ip);
         }
         return updBoot;
     }
diff --git a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java
index 70e9962..92f7501 100644
--- a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java
+++ b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketBoot.java
@@ -34,6 +34,10 @@
 
     private final IClient client;
 
+    public IClient getClient() {
+        return client;
+    }
+
     /**
      * socket鏄惁鍦ㄨ繍琛�
      */
diff --git a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketOptions.java b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketOptions.java
index 83a3bc5..b5e6957 100644
--- a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketOptions.java
+++ b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketOptions.java
@@ -14,6 +14,9 @@
  */
 public class SocketOptions {
 
+    //鍙戦�佺洰鏍囧湴鍧�IP
+    private String ip;
+
     //璁剧疆璇诲彇缂撳瓨
     private int readMaxBufferSize = 512;
 
@@ -45,6 +48,13 @@
     private int soTimeout;
     private boolean soLinger;
 
+    public String getIp() {
+        return ip;
+    }
+
+    public void setIp(String ip) {
+        this.ip = ip;
+    }
 
     public IHandleMessage getHandleMessage() {
         return handleMessage;
diff --git a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/UdpClient.java b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/UdpClient.java
index 1f3dab9..cbae147 100644
--- a/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/UdpClient.java
+++ b/HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/UdpClient.java
@@ -39,7 +39,7 @@
 
     private final byte[] receiveByte;
 
-    private final String ip;
+//    private final String ip;
 
     private final int port;
 
@@ -55,16 +55,10 @@
      */
     private UdpClient(String ip, int port, int monitorPort, int sendPort, SocketOptions socketOptions) {
         this.socketOptions = socketOptions;
-        this.ip = ip;
+        this.socketOptions.setIp(ip);
         this.port = port;
         this.sendPort = sendPort;
         this.monitorPort = monitorPort;
-        this.receiveByte = new byte[BUFFER];
-    }
-
-    public UdpClient(String ip, int port) {
-        this.ip = ip;
-        this.port = port;
         this.receiveByte = new byte[BUFFER];
     }
 
@@ -163,7 +157,8 @@
         if (msg == null) {
             msg = new byte[1];
         }
-        InetAddress serverAddress = InetAddress.getByName(ip);
+        InetAddress serverAddress = InetAddress.getByName(getOptions().getIp());
+        LogUtils.e("鍙戦�佺洰鏍嘔P鍦板潃锛�"+getOptions().getIp());
         final DatagramPacket sendPacket = new DatagramPacket(msg, msg.length, serverAddress, port);
         if (sendPort < 0) {
             final DatagramSocket sendSocket = new DatagramSocket();

--
Gitblit v1.8.0