From cf12bc45ccbb56e5026e3c2269f753b834a748ae Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 27 八月 2019 15:30:50 +0800
Subject: [PATCH] 1.完成socket的obd数据获取及数据库存储 2.完成获取obd数据的相关接口1个

---
 src/main/kotlin/com/flightfeather/obd/socket/SocketServerClient.kt |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/obd/socket/SocketServerClient.kt b/src/main/kotlin/com/flightfeather/obd/socket/SocketServerClient.kt
index bf89577..4c1f489 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/SocketServerClient.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/SocketServerClient.kt
@@ -7,6 +7,7 @@
 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.string.StringDecoder
 
 /**
  * socket闀胯繛鎺ユ湇鍔$
@@ -15,16 +16,19 @@
  */
 class SocketServerClient {
 
-//    val sessionMap = HashMap<String, IoSession>
+    private val bossGroup = NioEventLoopGroup()
+    private val workerGroup = NioEventLoopGroup()
 
     fun startServer(port: Int) {
         initialize()?.bind(port)?.sync()
-                ?.channel()?.closeFuture()?.sync()
+    }
+
+    fun stopServer() {
+        bossGroup.shutdownGracefully()
+        workerGroup.shutdownGracefully()
     }
 
     private fun initialize(): ServerBootstrap? {
-        val bossGroup = NioEventLoopGroup()
-        val workerGroup = NioEventLoopGroup()
 
         try {
             return ServerBootstrap()
@@ -32,16 +36,15 @@
                     .channel(NioServerSocketChannel::class.java)
                     .childHandler(object : ChannelInitializer<NioSocketChannel>() {
                         override fun initChannel(p0: NioSocketChannel?) {
-                            p0?.pipeline()?.addLast(ServerHandler())
+                            p0?.pipeline()
+                                    ?.addLast(StringDecoder())
+                                    ?.addLast(ServerHandler())
                         }
                     })
                     .option(ChannelOption.SO_BACKLOG, 128)
                     .childOption(ChannelOption.SO_KEEPALIVE, true)
         } catch (e: Throwable) {
             e.printStackTrace()
-        } finally {
-            bossGroup.shutdownGracefully()
-            workerGroup.shutdownGracefully()
         }
 
         return null

--
Gitblit v1.9.3