From 635d762aef37b5de6cd2e34f4a076ab56d9a239d Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期五, 11 四月 2025 17:35:11 +0800 Subject: [PATCH] 1. 添加自动输出接口API文档功能 --- src/main/kotlin/com/flightfeather/uav/socket/ServerHandler.kt | 72 ++++++++++++++++++++---------------- 1 files changed, 40 insertions(+), 32 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/socket/ServerHandler.kt b/src/main/kotlin/com/flightfeather/uav/socket/ServerHandler.kt index fc5202e..61a2d8c 100644 --- a/src/main/kotlin/com/flightfeather/uav/socket/ServerHandler.kt +++ b/src/main/kotlin/com/flightfeather/uav/socket/ServerHandler.kt @@ -1,64 +1,71 @@ package com.flightfeather.uav.socket +import com.flightfeather.uav.socket.processor.BaseProcessor import io.netty.channel.ChannelHandlerContext import io.netty.channel.ChannelInboundHandlerAdapter import io.netty.util.AttributeKey +import org.ietf.jgss.MessageProp import java.lang.StringBuilder import java.text.SimpleDateFormat import java.util.* -class ServerHandler : ChannelInboundHandlerAdapter() { - - companion object { - private const val TAG = "UAV" - } +class ServerHandler(private val processor: BaseProcessor) : ChannelInboundHandlerAdapter() { val attributeKey = AttributeKey.valueOf<String>("deviceCode") - val messageManager = MessageManager() override fun channelRegistered(ctx: ChannelHandlerContext?) { super.channelRegistered(ctx) - println() - println("------${TAG}绔彛鏈塈P杩炴帴锛歔ip:${ctx?.channel()?.remoteAddress()}] ${SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())}") + println("------銆�${processor.tag}銆慖P杩炴帴锛歔ip:${ctx?.channel()?.remoteAddress()}] ${SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())}") // ctx?.fireChannelActive() } override fun channelActive(ctx: ChannelHandlerContext?) { - println() - println("------${TAG}绔彛鏈塈P婵�娲伙細[ip:${ctx?.channel()?.remoteAddress()}] ${SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())}") + println("------銆�${processor.tag}銆慖P婵�娲伙細[ip:${ctx?.channel()?.remoteAddress()}] ${SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())}") super.channelActive(ctx) } override fun channelRead(ctx: ChannelHandlerContext?, msg: Any?) { super.channelRead(ctx, msg) + println("------銆�${processor.tag}銆戞敹鍒扮殑鍘熷鏁版嵁锛歔ip:${ctx?.channel()?.remoteAddress()}] ${SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())}") - val sb = StringBuilder() + var str = "" - if (msg is ByteArray) { - println() - println("------${TAG}鏀跺埌鐨勫師濮嬫暟鎹細[ip:${ctx?.channel()?.remoteAddress()}] ${SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())}") - msg.forEach { - val a: Int = if (it < 0) { - it + 256 - } else { - it.toInt() + when (msg) { + is ByteArray -> { + val sb = StringBuilder() + + msg.forEach { + var a = 0 + a = if (it < 0) { + it + 256 + } else { + it.toInt() + } + val s = if (a < 16) { + "0${a.toString(16)}" + } else { + a.toString(16) + } + sb.append(s).append(" ") } - val s = if (a < 16) { - "0${a.toString(16)}" - } else { - a.toString(16) - } - print("$s ") - sb.append(s).append(" ") + sb.deleteCharAt(sb.length - 1) + + str = sb.toString() } - sb.deleteCharAt(sb.length - 1) - } - val str = sb.toString() - if (str.isNotEmpty()) { - messageManager.dealStringMsg(str, ctx) + is String -> str = msg } + println(str) + + if (str == "01 04 00 00 00 00 00 00 00 00 00") { + ctx?.writeAndFlush("trigger") + return + } + if (str.isNotEmpty()) { + ctx?.writeAndFlush("data") + processor.dealStringMsg(str, ctx) + } } override fun channelReadComplete(ctx: ChannelHandlerContext?) { @@ -66,10 +73,11 @@ } override fun channelInactive(ctx: ChannelHandlerContext?) { - println("------${TAG}绔彛鏈塈P涓嶆椿鍔細[ip:${ctx?.channel()?.remoteAddress()}] ${SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())}") + println("------銆�${processor.tag}銆戠鍙f湁IP涓嶆椿鍔細[ip:${ctx?.channel()?.remoteAddress()}] ${SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())}") super.channelInactive(ctx) } + @Deprecated("Deprecated in Java") override fun exceptionCaught(ctx: ChannelHandlerContext?, cause: Throwable?) { cause?.printStackTrace() ctx?.close() -- Gitblit v1.9.3