From 7c8ce9b9a7d3fc1aaa4a621e86415b25ad10a34f Mon Sep 17 00:00:00 2001
From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com>
Date: 星期三, 19 三月 2025 09:36:28 +0800
Subject: [PATCH] 添加source屏扫码流程
---
HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/socket/client/UdpClient.java | 11 ++++++++++-
1 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/socket/client/UdpClient.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/socket/client/UdpClient.java
index c8d46ea..28db4dc 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/socket/client/UdpClient.java
+++ b/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 {
--
Gitblit v1.8.0