package cc.mrbird.febs.common.websocket;
|
|
import io.netty.bootstrap.ServerBootstrap;
|
import io.netty.channel.ChannelOption;
|
import io.netty.channel.EventLoopGroup;
|
import io.netty.channel.nio.NioEventLoopGroup;
|
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.codec.http.websocketx.WebSocketServerProtocolHandler;
|
import io.netty.handler.logging.LogLevel;
|
import io.netty.handler.logging.LoggingHandler;
|
import io.netty.handler.stream.ChunkedWriteHandler;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
|
@Configuration
|
public class NettyWebSocketConfig {
|
|
// @Value("${netty.websocket.port:9109}")
|
// private int port;
|
//
|
// @Bean(name = "bossGroup", destroyMethod = "shutdownGracefully")
|
// public EventLoopGroup bossGroup() {
|
// return new NioEventLoopGroup(1);
|
// }
|
//
|
// @Bean(name = "workerGroup", destroyMethod = "shutdownGracefully")
|
// public EventLoopGroup workerGroup() {
|
// return new NioEventLoopGroup();
|
// }
|
//
|
// @Bean
|
// public ServerBootstrap serverBootstrap(EventLoopGroup bossGroup, EventLoopGroup workerGroup) {
|
// ServerBootstrap bootstrap = new ServerBootstrap();
|
// bootstrap.group(bossGroup, workerGroup)
|
// .channel(NioServerSocketChannel.class)
|
// .option(ChannelOption.SO_BACKLOG, 128)
|
// .childOption(ChannelOption.SO_KEEPALIVE, true)
|
// .handler(new LoggingHandler(LogLevel.INFO))
|
// .childHandler(new io.netty.channel.ChannelInitializer<io.netty.channel.socket.SocketChannel>() {
|
// @Override
|
// protected void initChannel(io.netty.channel.socket.SocketChannel ch) throws Exception {
|
// ch.pipeline().addLast(new HttpServerCodec());
|
// ch.pipeline().addLast(new ChunkedWriteHandler());
|
// ch.pipeline().addLast(new HttpObjectAggregator(65536));
|
// ch.pipeline().addLast(new WebSocketServerProtocolHandler("/ws"));
|
// ch.pipeline().addLast(new cc.mrbird.febs.common.websocket.WebSocketServerHandler());
|
// }
|
// });
|
// return bootstrap;
|
// }
|
}
|