From b84732036079a82a8057637f510f6c19ae66d775 Mon Sep 17 00:00:00 2001 From: ua1zbe Date: Fri, 9 Oct 2026 13:17:50 +0300 Subject: [PATCH] =?UTF-8?q?reconnect:=20=D1=81=D0=BE=D0=B1=D0=BB=D1=8E?= =?UTF-8?q?=D0=B4=D0=B0=D1=82=D1=8C=20=D0=BF=D0=B0=D1=83=D0=B7=D1=83=20?= =?UTF-8?q?=D0=BC=D0=B5=D0=B6=D0=B4=D1=83=20=D0=BF=D0=BE=D0=BF=D1=8B=D1=82?= =?UTF-8?q?=D0=BA=D0=B0=D0=BC=D0=B8=20(backoff)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit tryConnectOnce игнорировала результат runTcpLoop и всегда возвращала true, из-за чего reconnectLoop не делал паузу и переподключался заново каждые ~30 мс, заваливая сервер MSG_ERROR 'Access denied'. Теперь возвращаем !running, поэтому после разрыва/отказа выдерживается RECONNECT_DELAY_MS. --- .../main/java/ru/ua1zbe/svxremote/proto/ReflectorClient.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/ru/ua1zbe/svxremote/proto/ReflectorClient.kt b/app/src/main/java/ru/ua1zbe/svxremote/proto/ReflectorClient.kt index 080f1df..1830aae 100644 --- a/app/src/main/java/ru/ua1zbe/svxremote/proto/ReflectorClient.kt +++ b/app/src/main/java/ru/ua1zbe/svxremote/proto/ReflectorClient.kt @@ -264,7 +264,10 @@ class ReflectorClient( callbacks.onState(STATE_TCP_CONNECTED) startTcpSenderThread(socket, s) runTcpLoop(socket, s) - true + // runTcpLoop завершилась: если всё ещё должны работать — значит + // соединение разорвано/отклонено, вернём false, чтобы reconnectLoop + // выдержал RECONNECT_DELAY_MS и не бомбил сервер переподключениями. + !running.get() } catch (e: Exception) { try { socket.close()