From 57b3b0851b2144073522a43640c2acc9452e1719 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 30 十月 2019 14:52:34 +0800
Subject: [PATCH] 新增接口: 1. 获取车辆轨迹

---
 src/main/kotlin/com/flightfeather/obd/socket/ServerHandler.kt |   41 ++++++++++++++++++++++++++++++++---------
 1 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/obd/socket/ServerHandler.kt b/src/main/kotlin/com/flightfeather/obd/socket/ServerHandler.kt
index a71b02e..4c01a5b 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/ServerHandler.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/ServerHandler.kt
@@ -3,6 +3,9 @@
 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() {
@@ -11,24 +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)
-        println("------鏀跺埌鐨勫師濮嬫暟鎹細[ip:${ctx?.channel()?.remoteAddress()}]\r\n$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)
+        }
 
     }
 
@@ -37,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