移除多余的session
parent
5f3a467afd
commit
40ba86aff5
|
@ -15,6 +15,7 @@ import javax.websocket.Session;
|
||||||
import java.io.DataInput;
|
import java.io.DataInput;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class AndroidScreenResponseThread extends ImageScreenResponse {
|
public class AndroidScreenResponseThread extends ImageScreenResponse {
|
||||||
|
@ -109,7 +110,9 @@ public class AndroidScreenResponseThread extends ImageScreenResponse {
|
||||||
}
|
}
|
||||||
//有后端会话则给后端推送屏幕图片
|
//有后端会话则给后端推送屏幕图片
|
||||||
if (!CollectionUtils.isEmpty(webSessions)) {
|
if (!CollectionUtils.isEmpty(webSessions)) {
|
||||||
for (Session webSession : webSessions) {
|
Iterator<Session> iterator = webSessions.iterator();
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
Session webSession = iterator.next();
|
||||||
if (webSession.isOpen()) {
|
if (webSession.isOpen()) {
|
||||||
if (sendDeviceStatus) {
|
if (sendDeviceStatus) {
|
||||||
Map<String, Object> result = new HashMap<>();
|
Map<String, Object> result = new HashMap<>();
|
||||||
|
@ -117,12 +120,10 @@ public class AndroidScreenResponseThread extends ImageScreenResponse {
|
||||||
SessionUtils.sendMessageInitiative(webSession, ResponseCmd.DEVICE_STATUS, adbDevice.getSerial(), result, "设备连接失败");
|
SessionUtils.sendMessageInitiative(webSession, ResponseCmd.DEVICE_STATUS, adbDevice.getSerial(), result, "设备连接失败");
|
||||||
sendDeviceStatus = false;
|
sendDeviceStatus = false;
|
||||||
}
|
}
|
||||||
logger.info("设备【{}】发送图片到微服务:{}张",adbDevice.getSerial(),send++);
|
|
||||||
SessionUtils.sendBinary(webSession, this.lastData);
|
SessionUtils.sendBinary(webSession, this.lastData);
|
||||||
logger.info("设备【{}】发送图片到微服务完成:{}张",adbDevice.getSerial(),send);
|
|
||||||
} else {
|
} else {
|
||||||
logger.warn("推送到web端的session已经断开,sessionId:{}",webSession.getId());
|
logger.warn("推送到web端的session已经断开,sessionId:{}",webSession.getId());
|
||||||
//todo:操作一下,去掉webSessions里面的无效session
|
iterator.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue