From 40ba86aff51daef1a4a1ac507f546716881d2565 Mon Sep 17 00:00:00 2001 From: "yineng.huang" Date: Tue, 20 Aug 2024 11:34:50 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=A4=9A=E4=BD=99=E7=9A=84se?= =?UTF-8?q?ssion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../screen/AndroidScreenResponseThread.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/deviceManager/screen/AndroidScreenResponseThread.java b/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/deviceManager/screen/AndroidScreenResponseThread.java index b7e7fd4..9ebd7b7 100644 --- a/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/deviceManager/screen/AndroidScreenResponseThread.java +++ b/cctp-atu/atu-upper-computer/src/main/java/net/northking/cctp/upperComputer/deviceManager/screen/AndroidScreenResponseThread.java @@ -15,6 +15,7 @@ import javax.websocket.Session; import java.io.DataInput; import java.io.IOException; import java.util.HashMap; +import java.util.Iterator; import java.util.Map; public class AndroidScreenResponseThread extends ImageScreenResponse { @@ -109,7 +110,9 @@ public class AndroidScreenResponseThread extends ImageScreenResponse { } //有后端会话则给后端推送屏幕图片 if (!CollectionUtils.isEmpty(webSessions)) { - for (Session webSession : webSessions) { + Iterator iterator = webSessions.iterator(); + while (iterator.hasNext()) { + Session webSession = iterator.next(); if (webSession.isOpen()) { if (sendDeviceStatus) { Map result = new HashMap<>(); @@ -117,12 +120,10 @@ public class AndroidScreenResponseThread extends ImageScreenResponse { SessionUtils.sendMessageInitiative(webSession, ResponseCmd.DEVICE_STATUS, adbDevice.getSerial(), result, "设备连接失败"); sendDeviceStatus = false; } - logger.info("设备【{}】发送图片到微服务:{}张",adbDevice.getSerial(),send++); SessionUtils.sendBinary(webSession, this.lastData); - logger.info("设备【{}】发送图片到微服务完成:{}张",adbDevice.getSerial(),send); } else { logger.warn("推送到web端的session已经断开,sessionId:{}",webSession.getId()); - //todo:操作一下,去掉webSessions里面的无效session + iterator.remove(); } } }