From 0e44169327daee11bc1aa0c4fd338d59af9294ef Mon Sep 17 00:00:00 2001 From: tursom <tursom@foxmail.com> Date: Mon, 5 Jul 2021 17:30:30 +0800 Subject: [PATCH] update WebSocketClient --- .../src/main/kotlin/cn/tursom/core/ws/WebSocketClient.kt | 6 ++++++ .../cn/tursom/core/ws/WebSocketClientChannelHandler.kt | 1 + .../cn/tursom/core/ws/WebSocketClientHandshakerAdapter.kt | 1 + 3 files changed, 8 insertions(+) diff --git a/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClient.kt b/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClient.kt index ad54c50..1bc25bb 100644 --- a/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClient.kt +++ b/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClient.kt @@ -195,6 +195,12 @@ open class WebSocketClient<in T : WebSocketClient<T, H>, H : WebSocketHandler<T, return ch!!.writeAndFlush(PongWebSocketFrame(data)) } + fun onOpen() { + } + + fun onClose() { + } + companion object { val group: EventLoopGroup = NioEventLoopGroup() } diff --git a/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClientChannelHandler.kt b/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClientChannelHandler.kt index 0fdd2b2..1ddaa85 100644 --- a/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClientChannelHandler.kt +++ b/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClientChannelHandler.kt @@ -12,6 +12,7 @@ class WebSocketClientChannelHandler<T : WebSocketClient<T, H>, H : WebSocketHand ) : SimpleChannelInboundHandler<WebSocketFrame>(autoRelease) { override fun channelInactive(ctx: ChannelHandlerContext) { + client.onClose() handler.onClose(client) if (client.ch == ctx.channel()) { client.ch = null diff --git a/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClientHandshakerAdapter.kt b/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClientHandshakerAdapter.kt index 3b08376..f845aaa 100644 --- a/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClientHandshakerAdapter.kt +++ b/ts-core/ts-ws-client/src/main/kotlin/cn/tursom/core/ws/WebSocketClientHandshakerAdapter.kt @@ -29,6 +29,7 @@ class WebSocketClientHandshakerAdapter<T : WebSocketClient<T, H>, H : WebSocketH handshakeFuture!!.setSuccess() //msg.retain() //ctx.fireChannelRead(msg) + client.onOpen() handler.onOpen(client) return } else {