//package org.springblade.modules.webscoket; //import io.netty.bootstrap.ServerBootstrap; //import io.netty.channel.ChannelFuture; //import io.netty.channel.ChannelInitializer; //import io.netty.channel.ChannelOption; //import io.netty.channel.EventLoopGroup; //import io.netty.channel.nio.NioEventLoopGroup; //import io.netty.channel.socket.SocketChannel; //import io.netty.channel.socket.nio.NioServerSocketChannel; //import io.netty.handler.codec.http.HttpObjectAggregator; //import io.netty.handler.codec.http.HttpServerCodec; //import io.netty.handler.logging.LogLevel; //import io.netty.handler.logging.LoggingHandler; //import io.netty.handler.stream.ChunkedWriteHandler; // //public class WebSocketServer { // private int port = 9034; // // public WebSocketServer(int port) { // bind(port); // } // // public void bind(int port) { // Thread thread = new Thread(new Runnable() { // @Override // public void run() { // EventLoopGroup bossGroup = new NioEventLoopGroup(); // EventLoopGroup workerGroup = new NioEventLoopGroup(); // try { // ServerBootstrap serverBootstrap = new ServerBootstrap(); // serverBootstrap.group(bossGroup, workerGroup).channel(NioServerSocketChannel.class) // .handler(new LoggingHandler(LogLevel.INFO)) // //保持连接 // .childOption(ChannelOption.SO_KEEPALIVE, true) // .childHandler(new ChannelInitializer() { // @Override // protected void initChannel(SocketChannel ch) { //// ch.pipeline().addLast("logging",new LoggingHandler("DEBUG"));//设置log监听器,并且日志级别为debug,方便观察运行流程 // ch.pipeline().addLast("http-codec", new HttpServerCodec());//设置解码器 // ch.pipeline().addLast("aggregator", new HttpObjectAggregator(65536));//聚合器,使用websocket会用到 // ch.pipeline().addLast("http-chunked", new ChunkedWriteHandler());//用于大数据的分区传输 // ch.pipeline().addLast("handler", new WebSocketHandler());//自定义的业务handler // } // }); // // ChannelFuture channelFuture = serverBootstrap.bind(port).sync(); // System.out.println("WebSocketServer启动成功"); // channelFuture.channel().closeFuture().sync(); // } catch (Exception e) { // e.printStackTrace(); // } finally { // bossGroup.shutdownGracefully(); // workerGroup.shutdownGracefully(); // } // } // }); // thread.start(); // } //}