Эх сурвалжийг харах

优化:usb的adb连接,不管是offline还是dropline,只要超过指定时长还未重连成功,执行kill处理;

scbc.sat2 5 жил өмнө
parent
commit
449d999494

+ 15 - 16
SATService/SATService/SATDevices.cpp

@@ -187,22 +187,21 @@ DWORD CSATDevices::WorkThread(LPVOID lpVoid)
 							// 等待adb启动;
 							Sleep(2500);
 						}
-						else{
-							// 是否需要kill=当时间达到掉线时长的1/2,则开启kill;
-							if ( GetTickCount64() -  it->ulOfflineTime > 9000 ) { // 1/2掉线时长太久,固定9秒时间,大概3次重连;
-								std::string str = "adb kill-server";
-								// 如果是usb的话,可能要kill-server,再全部重连接;
-								WinExec(str.c_str(), SW_HIDE);
-								// 重连所有;
-								ReConnectAllDevices();
-								// 重连后,break此次循环;
-								GLOBAL::WriteTextLog("usb重连->设备类型:%d, 设备名称:%s, 状态:%d, 命令:%s", it->nType, it->strName.c_str(), it->nStatus, str.c_str());
-								// 等待adb启动;
-								Sleep(3500);
-								// kill后,需要重新GetCurrentDevices查询;
-								break;
-							}
-						}	
+						
+						// 不管状态是Offline还是Dropline,只要重连超过指定时长, 执行kill;
+						if ( it->ulOfflineTime != 0 && GetTickCount64() -  it->ulOfflineTime > 9000 ) { // 1/2掉线时长太久,固定9秒时间,大概3次重连;
+							std::string str = "adb kill-server";
+							// 如果是usb的话,可能要kill-server,再全部重连接;
+							WinExec(str.c_str(), SW_HIDE);
+							// 重连所有;
+							ReConnectAllDevices();
+							// 重连后,break此次循环;
+							GLOBAL::WriteTextLog("usb重连->设备类型:%d, 设备名称:%s, 状态:%d, 命令:%s", it->nType, it->strName.c_str(), it->nStatus, str.c_str());
+							// 等待adb启动;
+							Sleep(3500);
+							// kill后,需要重新GetCurrentDevices查询;
+							break;
+						}
 #else
 						std::string str = "adb kill-server";
 						// 如果是usb的话,可能要kill-server,再全部重连接;