前言
使用idea快速搭建基于maven的netty服务器项目
1.新建空白maven项目
file-new-project
选择maven空白项目,输入groupid和artifactid,一路点next
2.引入netty maven 依赖
pom.xml 文件加入netty-all 依赖
io.netty
netty-all
4.1.42.Final
</dependencies>
3.服务器代码
tcp套接字server
创建ServerBootstrap,io模式为nio。同时自定义handler消息处理。
server代码:
public static void main(String[] args) throws InterruptedException {
//config the server
EventLoopGroup bossGroup = new NioEventLoopGroup();
EventLoopGroup workerGroup = new NioEventLoopGroup();
try{
ServerBootstrap b = new ServerBootstrap();
b.channel(NioServerSocketChannel.class)
.group(bossGroup,workerGroup)
.handler(new LoggingHandler(LogLevel.INFO))
.childHandler(new ChannelInitializer<SocketChannel>() {
protected void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline pipeline = ch.pipeline();
pipeline.addLast(new LoggingHandler(LogLevel.INFO))
.addLast(new EchoServerHandler());
}
});
//start the server
ChannelFuture future = b.bind(8090).sync();
//wait until server is closed
future.channel().closeFuture().sync();
}finally {
//shut down the event loop to terminate all threads
bossGroup.shutdownGracefully();