From 6f6c35f0e0881d2bbf32ad62f6c59f0ab1504854 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 16 九月 2019 20:30:16 +0800
Subject: [PATCH] 修改采样时间的存储问题
---
src/main/kotlin/com/flightfeather/obd/socket/ServerHandler.kt | 36 ++++++++++++++++++++++++++++++++----
1 files changed, 32 insertions(+), 4 deletions(-)
diff --git a/src/main/kotlin/com/flightfeather/obd/socket/ServerHandler.kt b/src/main/kotlin/com/flightfeather/obd/socket/ServerHandler.kt
index e1480ee..475a87b 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/ServerHandler.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/ServerHandler.kt
@@ -3,6 +3,10 @@
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() {
@@ -10,6 +14,7 @@
override fun channelRegistered(ctx: ChannelHandlerContext?) {
super.channelRegistered(ctx)
+// ctx?.fireChannelActive()
}
override fun channelActive(ctx: ChannelHandlerContext?) {
@@ -18,11 +23,33 @@
override fun channelRead(ctx: ChannelHandlerContext?, msg: Any?) {
super.channelRead(ctx, msg)
- val attribute = ctx?.channel()?.attr(attributeKey)?.apply {
- if (get() == null) {
-// set()
+
+ 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)
+ }
+
}
override fun channelReadComplete(ctx: ChannelHandlerContext?) {
@@ -34,6 +61,7 @@
}
override fun exceptionCaught(ctx: ChannelHandlerContext?, cause: Throwable?) {
- super.exceptionCaught(ctx, cause)
+ cause?.printStackTrace()
+ ctx?.close()
}
}
\ No newline at end of file
--
Gitblit v1.9.3