1.0
This commit is contained in:
44
旧的java项目/itcast/server/ChatServer.java
Normal file
44
旧的java项目/itcast/server/ChatServer.java
Normal file
@@ -0,0 +1,44 @@
|
||||
package cn.itcast.server;
|
||||
|
||||
import cn.itcast.protocol.MessageCodecSharable;
|
||||
import cn.itcast.protocol.ProcotolFrameDecoder;
|
||||
import io.netty.bootstrap.ServerBootstrap;
|
||||
import io.netty.channel.Channel;
|
||||
import io.netty.channel.ChannelInitializer;
|
||||
import io.netty.channel.nio.NioEventLoopGroup;
|
||||
import io.netty.channel.socket.SocketChannel;
|
||||
import io.netty.channel.socket.nio.NioServerSocketChannel;
|
||||
import io.netty.handler.codec.LengthFieldBasedFrameDecoder;
|
||||
import io.netty.handler.logging.LogLevel;
|
||||
import io.netty.handler.logging.LoggingHandler;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
public class ChatServer {
|
||||
public static void main(String[] args) {
|
||||
NioEventLoopGroup boss = new NioEventLoopGroup();
|
||||
NioEventLoopGroup worker = new NioEventLoopGroup();
|
||||
LoggingHandler LOGGING_HANDLER = new LoggingHandler(LogLevel.DEBUG);
|
||||
MessageCodecSharable MESSAGE_CODEC = new MessageCodecSharable();
|
||||
try {
|
||||
ServerBootstrap serverBootstrap = new ServerBootstrap();
|
||||
serverBootstrap.channel(NioServerSocketChannel.class);
|
||||
serverBootstrap.group(boss, worker);
|
||||
serverBootstrap.childHandler(new ChannelInitializer<SocketChannel>() {
|
||||
@Override
|
||||
protected void initChannel(SocketChannel ch) throws Exception {
|
||||
ch.pipeline().addLast(new ProcotolFrameDecoder());
|
||||
ch.pipeline().addLast(LOGGING_HANDLER);
|
||||
ch.pipeline().addLast(MESSAGE_CODEC);
|
||||
}
|
||||
});
|
||||
Channel channel = serverBootstrap.bind(9020).sync().channel();
|
||||
channel.closeFuture().sync();
|
||||
} catch (InterruptedException e) {
|
||||
// log.error("server error", e);
|
||||
} finally {
|
||||
boss.shutdownGracefully();
|
||||
worker.shutdownGracefully();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user