From 53a6c0c9afd0548a59d17efcb32a6fd4ff7a164d Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期二, 07 十二月 2021 17:07:48 +0800
Subject: [PATCH] 更改udp上报实际数据长度
---
HDLSDK/hdl-socket/src/main/java/com/hdl/sdk/socket/client/UdpClient.java | 16 ++++++++++------
1 files changed, 10 insertions(+), 6 deletions(-)
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 fc81bb6..c76ad70 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
@@ -5,9 +5,11 @@
import com.hdl.sdk.common.HDLSdk;
import com.hdl.sdk.common.utils.IpUtils;
+import com.hdl.sdk.common.utils.LogUtils;
import com.hdl.sdk.common.utils.ThreadToolUtils;
import com.hdl.sdk.socket.SocketBoot;
import com.hdl.sdk.socket.SocketOptions;
+import com.hdl.sdk.socket.SocketPool;
import com.hdl.sdk.socket.annotation.ConnectStatus;
import com.hdl.sdk.socket.codec.IHandleMessage;
import com.hdl.sdk.socket.listener.ConnectStatusListener;
@@ -16,6 +18,7 @@
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
+import java.net.InetSocketAddress;
import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;
@@ -78,12 +81,11 @@
@Override
public void connect() throws Exception {
-
try {
- mSocket = ClientPool.getInstance().getUdpSocket(ip, monitorPort);
+ mSocket = SocketPool.getInstance().getUdpSocket(new InetSocketAddress(monitorPort));
+
mSocket.setBroadcast(true);
mSocket.setReuseAddress(true);
-
isConnect.set(true);
if (receivePacket == null) {
receivePacket = new DatagramPacket(receiveByte, BUFFER);
@@ -123,7 +125,7 @@
return;
}
try {
- mSocket.receive(receivePacket);
+ mSocket.receive(receivePacket);
} catch (IOException e) {
e.printStackTrace();
isConnect.set(false);
@@ -143,11 +145,13 @@
IHandleMessage handleMessage = getOptions().getHandleMessage();
if (handleMessage != null) {
- handleMessage.read(receivePacket.getData());
+ byte[] data = new byte[receivePacket.getLength()];
+ System.arraycopy(receivePacket.getData(), 0, data, 0, data.length);
+ handleMessage.read(data);
}
final String receive = new String(receivePacket.getData(), 0, receivePacket.getLength());
- Log.d("---->", receive + " from " + receivePacket.getAddress().getHostAddress() + ":" + receivePacket.getPort());
+ LogUtils.d("---->", receive + " from " + receivePacket.getAddress().getHostAddress() + ":" + receivePacket.getPort());
//閲嶇疆闀垮害
if (receivePacket != null) {
--
Gitblit v1.8.0