From 6ddad5e82280f74961d907c8930c6b0fefbebdf0 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 30 十二月 2025 09:36:38 +0800
Subject: [PATCH] 2025.12.29 1. websocket添加心跳回复机制
---
src/main/kotlin/com/flightfeather/uav/socket/handler/UnderwayWebSocketServerHandler.kt | 37 +++++++++++++++++++++----------------
1 files changed, 21 insertions(+), 16 deletions(-)
diff --git a/src/main/kotlin/com/flightfeather/uav/socket/handler/UnderwayWebSocketServerHandler.kt b/src/main/kotlin/com/flightfeather/uav/socket/handler/UnderwayWebSocketServerHandler.kt
index 23e7b70..6874d94 100644
--- a/src/main/kotlin/com/flightfeather/uav/socket/handler/UnderwayWebSocketServerHandler.kt
+++ b/src/main/kotlin/com/flightfeather/uav/socket/handler/UnderwayWebSocketServerHandler.kt
@@ -4,6 +4,7 @@
import com.flightfeather.uav.common.utils.GsonUtils
import com.flightfeather.uav.domain.entity.BaseRealTimeData
import com.flightfeather.uav.domain.repository.SceneInfoRep
+import com.flightfeather.uav.domain.repository.SourceTraceRep
import com.flightfeather.uav.lightshare.bean.DataVo
import com.flightfeather.uav.socket.sender.UnderwayWebSocketSender
import io.netty.channel.ChannelHandlerContext
@@ -14,9 +15,9 @@
* @date 2025/5/13
* @author feiyu02
*/
-class UnderwayWebSocketServerHandler(sceneInfoRep: SceneInfoRep) : BaseHandler() {
+class UnderwayWebSocketServerHandler(sceneInfoRep: SceneInfoRep, sourceTraceRep: SourceTraceRep) : BaseHandler() {
- private val sourceTraceController = SourceTraceController(sceneInfoRep)
+ private val sourceTraceController = SourceTraceController(sceneInfoRep, sourceTraceRep)
override var tag: String = "UAV-WS"
@@ -27,29 +28,33 @@
}
override fun channelRead(ctx: ChannelHandlerContext?, msg: Any?) {
- super.channelRead(ctx, msg)
+// super.channelRead(ctx, msg)
when (msg) {
is TextWebSocketFrame -> {
val msgTxt = msg.text()
-
- println(msgTxt)
-// ctx?.channel()?.writeAndFlush(msg)
-
- // Test
try {
- if (msgTxt == "start") {
- sourceTraceController.initTask()
- } else {
- val data = GsonUtils.parserJsonToArrayBeans(msgTxt, DataVo::class.java)
- data.forEach {
- sourceTraceController.addOneData(
- it.toBaseRealTimeData(BaseRealTimeData::class.java)
- )
+ when (msgTxt) {
+ "start" -> {
+ sourceTraceController.initTask()
+ println(msgTxt)
+ }
+ "ping" -> {
+ ctx?.channel()?.writeAndFlush(TextWebSocketFrame("ping checked"))
+ }
+ else -> {
+ println(msgTxt)
+ val data = GsonUtils.parserJsonToArrayBeans(msgTxt, DataVo::class.java)
+ data.forEach {
+ sourceTraceController.addOneData(
+ it.toBaseRealTimeData(BaseRealTimeData::class.java)
+ )
+ }
}
}
} catch (e: Exception) {
// ctx?.channel()?.writeAndFlush(TextWebSocketFrame("褰撳墠涓烘祴璇曠姸鎬侊紝浼犺緭鐨勬暟鎹笉鏄蛋鑸暟鎹牸寮�"))
println("褰撳墠涓烘祴璇曠姸鎬侊紝浼犺緭鐨勬暟鎹笉鏄蛋鑸暟鎹牸寮�")
+ e.printStackTrace()
}
}
}
--
Gitblit v1.9.3