From 830e47a67026205b75f69e061d81783aa606a237 Mon Sep 17 00:00:00 2001 From: 562935844@qq.com Date: 星期五, 23 九月 2022 16:23:26 +0800 Subject: [PATCH] tcp发送之前判断是否连接 --- HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java | 51 +++++++++++++++++++++++++++++++-------------------- 1 files changed, 31 insertions(+), 20 deletions(-) diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java index 57a322f..23f1583 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/socket/HDLSocket.java @@ -78,33 +78,44 @@ * 骞挎挱鑷韩淇℃伅缁欎富缃戝叧 */ private void broadcastRequest() { - String time = String.valueOf(System.currentTimeMillis()); - if (null == HDLLinkConfig.getInstance().getDeviceInfoBean()) { - LogUtils.i("DeviceInfoBean涓虹┖锛岃璁剧疆褰撳墠瀵硅薄"); - return; - } - BroadcastRequest request = new BroadcastRequest(IdUtils.getUUId(), time, HDLLinkConfig.getInstance().getDeviceInfoBean(), "200"); - HDLAuthSocket.getInstance().udpSendMsg(TopicConstant.BROADCAST, GsonConvert.getGson().toJson(request),true); - HDLAuthSocket.getInstance().udpSendMsg(TopicConstant.BROADCAST, GsonConvert.getGson().toJson(request), true, new HDLLinkResponseCallBack() { + new Thread(new Runnable() { @Override - public void onSuccess(LinkResponse msg) { - LogUtils.i("骞挎挱淇℃伅缁欎富缃戝叧鎴愬姛锛�"); - } + public void run() { + try { + LogUtils.i("骞挎挱璁惧鏈韩淇℃伅"); - @Override - public void onError(HDLLinkException e) { + String time = String.valueOf(System.currentTimeMillis()); + if (null == HDLLinkConfig.getInstance().getDeviceInfoBean()) { + LogUtils.i("DeviceInfoBean涓虹┖锛岃璁剧疆褰撳墠瀵硅薄"); + return; + } + BroadcastRequest request = new BroadcastRequest(IdUtils.getUUId(), time, HDLLinkConfig.getInstance().getDeviceInfoBean(), "200"); + HDLAuthSocket.getInstance().udpSendMsg(TopicConstant.BROADCAST, GsonConvert.getGson().toJson(request), true, new HDLLinkResponseCallBack() { + @Override + public void onSuccess(LinkResponse msg) { + LogUtils.i("骞挎挱淇℃伅缁欎富缃戝叧鎴愬姛锛�"); + } + @Override + public void onError(HDLLinkException e) { + LogUtils.i("骞挎挱淇℃伅缁欎富缃戝叧澶辫触锛�"); + } + }); + HDLAuthSocket.getInstance().udpSendMsg(TopicConstant.BROADCAST, GsonConvert.getGson().toJson(request), true); + HDLAuthSocket.getInstance().udpSendMsg(TopicConstant.BROADCAST, GsonConvert.getGson().toJson(request), true); + } catch (Exception e) { + LogUtils.e("骞挎挱璁惧鏈韩淇℃伅澶辫触锛屽け璐ヤ俊鎭細" + e.getMessage()); + } } - }); - HDLAuthSocket.getInstance().udpSendMsg(TopicConstant.BROADCAST, GsonConvert.getGson().toJson(request),true); + }).start(); } - private static class SingletonInstance { - private static final HDLSocket INSTANCE = new HDLSocket(); - } +// private static class SingletonInstance { +// } + private static final HDLSocket instance = new HDLSocket(); public static HDLSocket getInstance() { - return SingletonInstance.INSTANCE; + return instance; } SocketOptions options; @@ -618,7 +629,7 @@ threadPool.scheduleWithFixedDelay(new Runnable() { @Override public void run() { - if (sendCount.get() < 3) { + if (sendCount.get() < 0) { sendCount.set(sendCount.get() + 1); getTcp().sendMsg(data); } else { -- Gitblit v1.8.0