From 4573add9d16d63400906923221d41a7642a47c21 Mon Sep 17 00:00:00 2001 From: rankun Date: Fri, 12 Jul 2019 12:18:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:forward=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E9=87=8D=E5=90=AFserver=E5=B0=9D=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QtScrcpy/device/server/server.cpp | 12 ++++++++++-- QtScrcpy/device/server/server.h | 1 + 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/QtScrcpy/device/server/server.cpp b/QtScrcpy/device/server/server.cpp index 21237a8..d3a98f6 100644 --- a/QtScrcpy/device/server/server.cpp +++ b/QtScrcpy/device/server/server.cpp @@ -10,7 +10,8 @@ #define DEVICE_SERVER_PATH "/data/local/tmp/scrcpy-server.jar" #define DEVICE_NAME_FIELD_LENGTH 64 #define SOCKET_NAME "qtscrcpy" -#define MAX_CONNECT_COUNT 20 +#define MAX_CONNECT_COUNT 30 +#define MAX_RESTART_COUNT 1 Server::Server(QObject *parent) : QObject(parent) { @@ -385,6 +386,7 @@ result: // we don't need the adb tunnel anymore disableTunnelForward(); m_tunnelEnabled = false; + m_restartCount = 0; emit connectToResult(success, deviceName, deviceSize); return; } @@ -399,7 +401,13 @@ result: if (MAX_CONNECT_COUNT <= m_connectCount++) { stopConnectTimeoutTimer(); stop(); - emit connectToResult(false); + if (MAX_RESTART_COUNT > m_restartCount++) { + qWarning("restart server auto"); + start(m_params); + } else { + m_restartCount = 0; + emit connectToResult(false); + } } } diff --git a/QtScrcpy/device/server/server.h b/QtScrcpy/device/server/server.h index 6d6fda1..2e4d55f 100644 --- a/QtScrcpy/device/server/server.h +++ b/QtScrcpy/device/server/server.h @@ -86,6 +86,7 @@ private: quint32 m_acceptTimeoutTimer = 0; quint32 m_connectTimeoutTimer = 0; quint32 m_connectCount = 0; + quint32 m_restartCount = 0; QString m_deviceName = ""; QSize m_deviceSize = QSize(); ServerParams m_params;