| | |
| | | package com.hdl.sdk.socket.udp;
|
| | |
|
| | | import android.support.v4.util.ArrayMap;
|
| | | import android.text.TextUtils;
|
| | |
|
| | |
|
| | | import com.hdl.sdk.common.utils.LogUtils;
|
| | | import com.hdl.sdk.common.utils.ThreadToolUtils;
|
| | | import com.hdl.sdk.socket.SocketRequest;
|
| | | import com.hdl.sdk.socket.annotation.ConnectStatus;
|
| | | import com.hdl.sdk.socket.client.IClient;
|
| | | import com.hdl.sdk.socket.client.IUdpClient;
|
| | | import com.hdl.sdk.socket.listener.SendListener;
|
| | |
|
| | | import java.net.ConnectException;
|
| | | import java.net.InetAddress;
|
| | | import java.net.InetSocketAddress;
|
| | | import java.net.SocketAddress;
|
| | | import java.util.concurrent.BlockingQueue;
|
| | | import java.util.concurrent.ConcurrentHashMap;
|
| | | import java.util.concurrent.ConcurrentMap;
|
| | | import java.util.concurrent.ExecutorService;
|
| | | import java.util.concurrent.LinkedBlockingDeque;
|
| | | import java.util.concurrent.ScheduledExecutorService;
|
| | | import java.util.concurrent.TimeUnit;
|
| | | import java.util.concurrent.atomic.AtomicBoolean;
|
| | | import java.util.concurrent.atomic.AtomicInteger;
|
| | |
|
| | |
| | |
|
| | | private ExecutorService receiveThread;
|
| | |
|
| | | private final ArrayMap<String, SendListener> sendMap = new ArrayMap<>();
|
| | | private final ConcurrentMap<String, SendListener> sendMap = new ConcurrentHashMap<>();
|
| | |
|
| | | public UdpSocketBoot(IUdpClient client) {
|
| | | this.client = client;
|