From 64f0efde375156607923fee28ba5127550a784d1 Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Wed, 19 Aug 2026 21:21:43 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=B4=D0=B5=D1=82=D0=B5=D0=BA=D1=82=20?= =?UTF-8?q?=D0=BE=D0=B1=D1=80=D1=8B=D0=B2=D0=B0=20=D1=81=D0=B2=D1=8F=D0=B7?= =?UTF-8?q?=D0=B8=20=E2=89=A45=D1=81=20(ping=2015=D1=81=E2=86=925=D1=81)?= =?UTF-8?q?=20=E2=80=94=20=D0=BF=D0=B0=D1=83=D0=B7=D0=B0=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=20=D0=BE=D0=B1=D1=80=D1=8B=D0=B2=D0=B5=20=D0=BE=D0=B1?= =?UTF-8?q?=D1=8F=D0=B7=D0=B0=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Требование пользователя (проверено на железе): при потере связи видео обязательно ставится на паузу и быстро. Было: ping 15с + таймаут 15с на обоих концах — обрыв замечался до ~35с (видео убегало, звук вставал — рассинхрон). Стало: pingIntervalMillis 5с (lib-core Ktor), pingPeriod/ timeoutMillis 5с (app-phone OkHttp) — детект ≤10с. Железо: обрыв → «связь потеряна — пауза» → «связь восстановлена — продолжаю» → diff 139. Визуально подтверждено пользователем. --- .../src/main/kotlin/pw/binom/viewmate/phone/GlassesServer.kt | 4 ++-- .../kotlin/pw/binom/viewmate/core/media/HttpClient.kt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app-phone/src/main/kotlin/pw/binom/viewmate/phone/GlassesServer.kt b/app-phone/src/main/kotlin/pw/binom/viewmate/phone/GlassesServer.kt index 43fcca0..3baaec6 100644 --- a/app-phone/src/main/kotlin/pw/binom/viewmate/phone/GlassesServer.kt +++ b/app-phone/src/main/kotlin/pw/binom/viewmate/phone/GlassesServer.kt @@ -176,8 +176,8 @@ class GlassesHub( /** Ktor-модуль телефона: WebSocket-роут для подключения очков. */ fun Application.glassesServerModule(hub: GlassesHub) { install(WebSockets) { - pingPeriodMillis = 15_000 - timeoutMillis = 15_000 + pingPeriodMillis = 5_000 + timeoutMillis = 5_000 maxFrameSize = Long.MAX_VALUE masking = false } diff --git a/lib-core/src/commonMain/kotlin/pw/binom/viewmate/core/media/HttpClient.kt b/lib-core/src/commonMain/kotlin/pw/binom/viewmate/core/media/HttpClient.kt index ab44c0b..c9fddcd 100644 --- a/lib-core/src/commonMain/kotlin/pw/binom/viewmate/core/media/HttpClient.kt +++ b/lib-core/src/commonMain/kotlin/pw/binom/viewmate/core/media/HttpClient.kt @@ -60,7 +60,7 @@ fun defaultWsClient(): HttpClient = HttpClient { requestTimeoutMillis = 30_000 } install(WebSockets) { - pingIntervalMillis = 15_000 + pingIntervalMillis = 5_000 } install(Logging) { logger = object : Logger {