Vladimir
java.util.concurrent.CancellationException: LinkedListChannel was cancelled
try { for (frame in websocketSession.incoming) { frame as? Frame.Text ?: continue val content = frame.readText() ctx.sessionScope.launch { handleMessage(ctx, content) } } } catch (e: ClosedReceiveChannelException) { // socket is closed from client and handled by ktor } catch (e: Throwable) { // error occured (abrupt connection termination or other websocket internal error) logger.error("Unhandled websocket session error: ${e.message}", e) }
A modern programming language that makes developers happier.