移除多余的session
parent
5f3a467afd
commit
40ba86aff5
|
@ -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<Session> iterator = webSessions.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
Session webSession = iterator.next();
|
||||
if (webSession.isOpen()) {
|
||||
if (sendDeviceStatus) {
|
||||
Map<String, Object> 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue