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/connect/socket/HDLAuthSocket.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 54 insertions(+), 1 deletions(-)
diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
index 3361024..9b94bcf 100644
--- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
+++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLAuthSocket.java
@@ -55,6 +55,7 @@
* udp榛樿绔彛
*/
private static final int UDP_PORT = 8585;
+ private static int BIND_UDP_PORT = 8584;
/**
* 鍥犱负鑰冭檻鍒颁娇鐢ㄤ竴涓鍙o紝瑕佹敮鎸佹帴鏀跺缃戝叧鐨勬暟鎹紝鎵�浠ュ彧鍏佽浣跨敤涓�涓�
*/
@@ -115,7 +116,9 @@
private synchronized UdpSocketBoot getUdpBoot() {
try {
if (udpSocketBoot == null) {
- udpSocketBoot = UdpClient.init(UDP_PORT, getUdpOptions());
+ //鍖哄垎鏄�8584杩樻槸8585
+ BIND_UDP_PORT = HDLSdk.getInstance().getBindPort();
+ udpSocketBoot = UdpClient.init(BIND_UDP_PORT, getUdpOptions());
udpSocketBoot.bind();
LogUtils.i("鍒濆鍖朣ocket udp");
@@ -162,6 +165,9 @@
//绉婚櫎鐩戝惉
EventDispatcher.getInstance().remove(TopicConstant.GATEWAY_AUTH_BROADCAST);
HDLLinkConfig.getInstance().setIpAddress(bean.getIPAddress());
+ if (!TextUtils.isEmpty(bean.getOID())) {
+ HDLLinkConfig.getInstance().setParentOid(bean.getOID());
+ }
String ipStr = bean.getIPAddress();
if (!TextUtils.isEmpty(ipStr)) {
sendAuthenticateRequest(ipStr, request, callBack);
@@ -554,6 +560,51 @@
}
/**
+ * 閫氱敤鍙戦�佹寚浠�
+ * 鍙戦�佷竴娆�
+ *
+ * @param topic 鍙戦�佹暟鎹�
+ * @param bodyStr 鍥炲鐨勪富棰�
+ * @param broadcast 鏄惁瑕佸箍鎾�
+ * @param callBack 鍥炶皟
+ */
+ public void udpSendMsgOneTime(String topic, String bodyStr, boolean broadcast, HDLLinkResponseCallBack callBack) {
+ if (TextUtils.isEmpty(topic) || TextUtils.isEmpty(bodyStr)) {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_DATA_NULL_ERROR));
+ }
+ return;
+ }
+
+ if (!HDLLinkConfig.getInstance().checkIfCertified()) {
+ if (callBack != null) {
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_UNAUTHORIZED_ERROR));
+ }
+ return;
+ }
+
+ LinkRequest message = new LinkRequest(topic, bodyStr);
+ String ip = HDLLinkConfig.getInstance().getIpAddress();
+ if (broadcast) {
+ ip = IpUtils.getBroadcastAddress();
+ }
+ HdlSocketHelper.sendUdp(getUdpBoot(), ip, UDP_PORT, message, "", 1, new HdlSocketHelper.HdlSocketListener() {
+ @Override
+ public void onSucceed(Object msg) {
+ if (callBack == null) return;
+ callBack.onSuccess((LinkResponse) msg);
+ }
+
+ @Override
+ public void onFailure() {
+ if (callBack == null) return;
+ callBack.onError(HDLLinkException.getErrorWithCode(HDLLinkCode.HDL_TIMEOUT_ERROR));
+ }
+ }
+ );
+ }
+
+ /**
* 閫氱敤鍙戦�佹寚浠� 鍙彂涓�娆★紝涓嶇洃鍚洖澶嶏紝涓嶉噸鍙�
*
* @param topic 鍙戦�佹暟鎹�
@@ -655,6 +706,8 @@
HDLLinkConfig.getInstance().setCurrentGateway(searchBean);//璁剧疆褰撳墠缃戝叧
if (mSearchGatewayCallBack != null) {
mSearchGatewayCallBack.onSuccess(searchBean);
+ HDLSocket.getInstance().isBroadcast = true;
+ HDLSocket.getInstance().getTcp();
}
}
}
--
Gitblit v1.8.0