|
@@ -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,再全部重连接;
|