From 58a16c3340f92a1ec0362565020f31de56faaf3e Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 19 九月 2019 16:35:48 +0800
Subject: [PATCH] 1. 增加远程查看版本指令逻辑

---
 src/main/kotlin/com/flightfeather/obd/socket/SocketServerClient.kt |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/obd/socket/SocketServerClient.kt b/src/main/kotlin/com/flightfeather/obd/socket/SocketServerClient.kt
index 4c1f489..5ee34b1 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/SocketServerClient.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/SocketServerClient.kt
@@ -1,13 +1,19 @@
 package com.flightfeather.obd.socket
 
 import io.netty.bootstrap.ServerBootstrap
+import io.netty.buffer.ByteBuf
+import io.netty.buffer.Unpooled
 import io.netty.channel.ChannelInitializer
 import io.netty.channel.ChannelOption
 import io.netty.channel.nio.NioEventLoopGroup
-import io.netty.channel.socket.SocketChannel
 import io.netty.channel.socket.nio.NioServerSocketChannel
 import io.netty.channel.socket.nio.NioSocketChannel
+import io.netty.handler.codec.DelimiterBasedFrameDecoder
+import io.netty.handler.codec.bytes.ByteArrayDecoder
+import io.netty.handler.codec.bytes.ByteArrayEncoder
 import io.netty.handler.codec.string.StringDecoder
+import io.netty.handler.codec.string.StringEncoder
+import java.nio.charset.Charset
 
 /**
  * socket闀胯繛鎺ユ湇鍔$
@@ -34,15 +40,18 @@
             return ServerBootstrap()
                     .group(bossGroup, workerGroup)
                     .channel(NioServerSocketChannel::class.java)
+                    .option(ChannelOption.SO_BACKLOG, 128)
+                    .childOption(ChannelOption.SO_KEEPALIVE, true)
+                    .childOption(ChannelOption.TCP_NODELAY, true)
                     .childHandler(object : ChannelInitializer<NioSocketChannel>() {
                         override fun initChannel(p0: NioSocketChannel?) {
                             p0?.pipeline()
-                                    ?.addLast(StringDecoder())
+//                                    ?.addLast("decoder", StringDecoder())
+                                    ?.addLast(ObdByteDataDecoder())
+                                    ?.addLast("encoder", StringEncoder(Charset.forName("UTF-8")))
                                     ?.addLast(ServerHandler())
                         }
                     })
-                    .option(ChannelOption.SO_BACKLOG, 128)
-                    .childOption(ChannelOption.SO_KEEPALIVE, true)
         } catch (e: Throwable) {
             e.printStackTrace()
         }

--
Gitblit v1.9.3