Ahmed na
09/07/2023, 9:54 AMinstall(WebSockets) {
pingPeriod = Duration.ofSeconds(20)
timeout = Duration.ofSeconds(20)
maxFrameSize = Long.MAX_VALUE
masking = false
}
and here is client config
install(WebSockets) {
pingInterval = 30_000
}
I'm looking for configuration to stabilise the connection (longer session duration) without affect real time advantage
and see why android is not as stable as iOS
any recommendation ?
is using a one minute ping interval safe ?Cherrio LLC
09/07/2023, 5:43 PMChristos Malliaridis
09/07/2023, 11:49 PMAhmed na
09/08/2023, 1:26 AMjava.io.IOException: Ping timeout
at io.ktor.websocket.DefaultWebSocketSessionImpl$runOrCancelPinger$newPinger$1.invokeSuspend ( io/ktor.websocket/DefaultWebSocketSession.kt:279 )
at io.ktor.websocket.DefaultWebSocketSessionImpl$runOrCancelPinger$newPinger$1.invoke
at io.ktor.websocket.DefaultWebSocketSessionImpl$runOrCancelPinger$newPinger$1.invoke
at io.ktor.websocket.PingPongKt$pinger$1.invokeSuspend ( io/ktor.websocket/PingPong.kt:86 )
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith ( kotlin/coroutines.jvm.internal/ContinuationImpl.kt:33 )
at kotlinx.coroutines.internal.ScopeCoroutine.afterResume ( kotlinx/coroutines.internal/Scopes.kt:33 )
at kotlinx.coroutines.AbstractCoroutine.resumeWith ( kotlinx/coroutines/AbstractCoroutine.kt:102 )
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith ( kotlin/coroutines.jvm.internal/ContinuationImpl.kt:46 )
at kotlinx.coroutines.DispatchedTask.run ( kotlinx/coroutines/DispatchedTask.kt:104 )
at io.netty.util.concurrent.AbstractEventExecutor.runTask ( io/netty.util.concurrent/AbstractEventExecutor.java:174 )
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute ( io/netty.util.concurrent/AbstractEventExecutor.java:167 )
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks ( io/netty.util.concurrent/SingleThreadEventExecutor.java:470 )
at io.netty.channel.nio.NioEventLoop.run ( io/netty.channel.nio/NioEventLoop.java:503 )
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run ( io/netty.util.concurrent/SingleThreadEventExecutor.java:997 )
at io.netty.util.internal.ThreadExecutorMap$2.run ( io/netty.util.internal/ThreadExecutorMap.java:74 )
at io.ktor.server.netty.EventLoopGroupProxy$Companion.create$lambda-1$lambda-0 ( io/ktor.server.netty/NettyApplicationEngine.kt:288 )
at io.netty.util.concurrent.FastThreadLocalRunnable.run ( io/netty.util.concurrent/FastThreadLocalRunnable.java:30 )
Christos Malliaridis
09/08/2023, 2:03 AM