562935844@qq.com
2024-06-28 6d908915d558ec457db8a50b03ed8746f4e73a48
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/socket/client/UdpClient.java
@@ -5,20 +5,16 @@
import com.hdl.sdk.common.utils.IpUtils;
import com.hdl.sdk.common.utils.LogUtils;
import com.hdl.sdk.socket.SocketBoot;
import com.hdl.sdk.socket.SocketOptions;
import com.hdl.sdk.socket.SocketPool;
import com.hdl.sdk.socket.codec.IHandleMessage;
import com.hdl.sdk.socket.udp.UdpSocketBoot;
import com.hdl.sdk.socket.udp.UdpSocketOptions;
import com.hdl.sdk.socket.codec.IHandleMessage;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.util.concurrent.atomic.AtomicBoolean;
/**
@@ -29,7 +25,7 @@
    /**
     * 当前socket
     */
    private  DatagramSocket mSocket;
    private DatagramSocket mSocket;
    /**
     * 接收数据包
@@ -57,11 +53,12 @@
    /**
     * 初始化参数
     * @param ipAddress 本地监听端口
     * @param port 本地监听端口
     *
     * @param ipAddress     本地监听端口
     * @param port          本地监听端口
     * @param socketOptions
     */
    private UdpClient(String ipAddress,int port, UdpSocketOptions socketOptions) {
    private UdpClient(String ipAddress, int port, UdpSocketOptions socketOptions) {
        this.ipAddress = ipAddress;
        this.port = port;
        this.socketOptions = socketOptions;
@@ -71,8 +68,9 @@
    /**
     * 初始化参数
     *
     * @param ipAddress 本地监听IP地址
     * @param port 本地监听端口
     * @param port      本地监听端口
     * @param options
     * @return
     */
@@ -82,7 +80,8 @@
    /**
     * 初始化参数
     * @param port 本地监听端口
     *
     * @param port    本地监听端口
     * @param options
     * @return
     */
@@ -100,8 +99,8 @@
            }
            if (TextUtils.isEmpty(ipAddress)) {
                mSocket = SocketPool.getInstance().getUdpSocket(new InetSocketAddress(port));
            }else {
                mSocket = SocketPool.getInstance().getUdpSocket(new InetSocketAddress(ipAddress,port));
            } else {
                mSocket = SocketPool.getInstance().getUdpSocket(new InetSocketAddress(ipAddress, port));
            }
            mSocket.setBroadcast(true);
//            mSocket.setReuseAddress(true);
@@ -156,7 +155,7 @@
            if (handleMessage != null) {
                byte[] data = new byte[receivePacket.getLength()];
                System.arraycopy(receivePacket.getData(), 0, data, 0, data.length);
                handleMessage.read(data,receivePacket.getAddress().getHostAddress());
                handleMessage.read(data, receivePacket.getAddress().getHostAddress());
            }
        } catch (Exception e) {
@@ -166,11 +165,13 @@
    @Override
    public void sendMsg(String ipAddress,int port, byte[] msg) throws Exception {
    public void sendMsg(String ipAddress, int port, byte[] msg) throws Exception {
        if (msg == null) {
            return;
        }
        final DatagramPacket sendPacket = new DatagramPacket(msg, msg.length, InetAddress.getByName(ipAddress), port);
        mSocket.send(sendPacket);
        if (mSocket != null && sendPacket != null) {
            mSocket.send(sendPacket);
        }
    }
}