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