panlili2024
2025-03-19 7c8ce9b9a7d3fc1aaa4a621e86415b25ad10a34f
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/socket/client/UdpClient.java
@@ -1,8 +1,11 @@
package com.hdl.sdk.socket.client;
import android.content.Context;
import android.net.wifi.WifiManager;
import android.text.TextUtils;
import com.hdl.sdk.common.HDLSdk;
import com.hdl.sdk.common.utils.IpUtils;
import com.hdl.sdk.common.utils.LogUtils;
import com.hdl.sdk.socket.SocketPool;
@@ -32,6 +35,7 @@
     */
    private DatagramPacket receivePacket;
    private WifiManager.MulticastLock lock;
    /**
     * 缓冲区大小
     */
@@ -64,6 +68,10 @@
        this.socketOptions = socketOptions;
        byte[] receiveByte = new byte[BUFFER];
        receivePacket = new DatagramPacket(receiveByte, receiveByte.length);
        WifiManager manager = (WifiManager) HDLSdk.getInstance().getContext().getApplicationContext()
                .getSystemService(Context.WIFI_SERVICE);
        this.lock = manager.createMulticastLock("UDPwifi");
    }
    /**
@@ -91,12 +99,13 @@
    @Override
    public void bind() throws Exception {
    public synchronized void bind() throws Exception {
        try {
            //已经绑定过就不用再绑定
            if (null != mSocket) {
                return;
            }
            lock.acquire();
            if (TextUtils.isEmpty(ipAddress)) {
                mSocket = SocketPool.getInstance().getUdpSocket(new InetSocketAddress(port));
            } else {