hxb
2022-09-08 2a01ef5e49422cca49bc7476fc1b8be8c8556561
HDLSDK/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/socket/SocketPool.java
File was renamed from HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/SocketPool.java
@@ -1,6 +1,6 @@
package com.hdl.sdk.socket;
package com.hdl.sdk.link.socket;
import com.hdl.sdk.socket.client.IClient;
import com.hdl.sdk.link.socket.client.IClient;
import java.net.DatagramSocket;
import java.net.InetSocketAddress;
@@ -21,10 +21,13 @@
        mUdpClientPool = new ConcurrentHashMap<>();
    }
    private static final SocketPool instance = new SocketPool();
    private static class SingletonInstance {
        private static final SocketPool INSTANCE = new SocketPool();
    }
    public static SocketPool getInstance() {
        return instance;
        return SingletonInstance.INSTANCE;
    }
    public void clear() {
@@ -33,19 +36,19 @@
    }
    public synchronized DatagramSocket getUdpSocket(InetSocketAddress address) throws SocketException {
        DatagramSocket socket;
        final String key = address.toString();
        DatagramSocket socket = null;
        final String key = address.getPort() + "";
        if (mUdpClientPool.containsKey(key)) {
            socket = mUdpClientPool.get(key);
            if (socket != null && !socket.isClosed()) {
                return socket;
            } else {
                socket = new DatagramSocket(address);
            if (socket != null && socket.isClosed()) {
                mUdpClientPool.remove(key);
                socket = null;
            }
        } else {
            socket = new DatagramSocket(address);
        }
        mUdpClientPool.put(address.toString(), socket);
        if (socket == null) {
            socket = new DatagramSocket(address);
            mUdpClientPool.put(key, socket);
        }
        return socket;
    }
}