| | |
| | | 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.bytes.ByteArrayDecoder |
| | | import io.netty.handler.codec.bytes.ByteArrayEncoder |
| | | import io.netty.handler.codec.string.StringDecoder |
| | | import io.netty.handler.codec.string.StringEncoder |
| | | |
| | | /** |
| | | * socket长连接服务端 |
| | |
| | | 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("encoder", StringEncoder()) |
| | | ?.addLast(ByteArrayDecoder()) |
| | | ?.addLast(ByteArrayEncoder()) |
| | | ?.addLast(ServerHandler()) |
| | | } |
| | | }) |
| | | .option(ChannelOption.SO_BACKLOG, 128) |
| | | .childOption(ChannelOption.SO_KEEPALIVE, true) |
| | | } catch (e: Throwable) { |
| | | e.printStackTrace() |
| | | } |