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/SocketServerClient.kt | 37 ++++++++++++++++++++++++-------------
1 files changed, 24 insertions(+), 13 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..80904b7 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/SocketServerClient.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/SocketServerClient.kt
@@ -1,12 +1,18 @@
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
/**
* socket闀胯繛鎺ユ湇鍔$
@@ -15,33 +21,38 @@
*/
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()
.group(bossGroup, workerGroup)
.channel(NioServerSocketChannel::class.java)
- .childHandler(object : ChannelInitializer<NioSocketChannel>() {
- override fun initChannel(p0: NioSocketChannel?) {
- p0?.pipeline()?.addLast(ServerHandler())
- }
- })
.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("decoder", StringDecoder())
+// ?.addLast("encoder", StringEncoder())
+ ?.addLast(ObdByteDataDecoder())
+ ?.addLast(ServerHandler())
+ }
+ })
} catch (e: Throwable) {
e.printStackTrace()
- } finally {
- bossGroup.shutdownGracefully()
- workerGroup.shutdownGracefully()
}
return null
--
Gitblit v1.9.3