From 1f356649ce536b19b903d6f3a533983d4b8222bc Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期五, 25 十月 2019 18:16:39 +0800 Subject: [PATCH] 新增接口: 1. 获取所有设备的最新一条数据 新增数据库表: 1. 车辆信息表 --- src/main/kotlin/com/flightfeather/obd/socket/ServerHandler.kt | 43 ++++++++++++++++++++++++++++++++----------- 1 files changed, 32 insertions(+), 11 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/obd/socket/ServerHandler.kt b/src/main/kotlin/com/flightfeather/obd/socket/ServerHandler.kt index 42a6c2a..4c01a5b 100644 --- a/src/main/kotlin/com/flightfeather/obd/socket/ServerHandler.kt +++ b/src/main/kotlin/com/flightfeather/obd/socket/ServerHandler.kt @@ -1,11 +1,11 @@ package com.flightfeather.obd.socket -import com.flightfeather.obd.domain.entity.ObdData -import com.google.gson.Gson -import io.netty.channel.ChannelHandler import io.netty.channel.ChannelHandlerContext import io.netty.channel.ChannelInboundHandlerAdapter import io.netty.util.AttributeKey +import java.lang.StringBuilder +import java.text.SimpleDateFormat +import java.util.* class ServerHandler : ChannelInboundHandlerAdapter() { @@ -14,23 +14,43 @@ override fun channelRegistered(ctx: ChannelHandlerContext?) { super.channelRegistered(ctx) + println("------绔彛鏈塈P杩炴帴锛歔ip:${ctx?.channel()?.remoteAddress()}] ${SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())}") +// ctx?.fireChannelActive() } override fun channelActive(ctx: ChannelHandlerContext?) { + println("------绔彛鏈塈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) - if (msg is String) { - MessageManager().dealMsg(msg, ctx) - } -// val attribute = ctx?.channel()?.attr(attributeKey)?.apply { -// if (get() == null) { -// set(data.obdVin) -// } -// } + val sb = StringBuilder() + + if (msg is ByteArray) { + println("------鏀跺埌鐨勫師濮嬫暟鎹細[ip:${ctx?.channel()?.remoteAddress()}] ${SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())}") + 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) + } + print("$s ") + sb.append(s).append(" ") + } + sb.deleteCharAt(sb.length - 1) + } + val str = sb.toString() + if (str.isNotEmpty()) { + MessageManager().dealStringMsg(str, ctx) + } } @@ -39,6 +59,7 @@ } override fun channelInactive(ctx: ChannelHandlerContext?) { + println("------绔彛鏈塈P涓嶆椿鍔細[ip:${ctx?.channel()?.remoteAddress()}] ${SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())}") super.channelInactive(ctx) } -- Gitblit v1.9.3