TCP Server
Netty的服务之一是TCP服务。要创建Netty TCP服务,必须:
创建一个EventLoopGroup
创建和配置ServerBootstrap
创建一个ChannelInitializer
启动服务器
这是一个代码示例,显示了如何创建Netty TCP服务:
EventLoopGroup group = new NioEventLoopGroup(); try{ ServerBootstrap serverBootstrap = new ServerBootstrap(); serverBootstrap.group(group); serverBootstrap.channel(NioServerSocketChannel.class); serverBootstrap.localAddress(new InetSocketAddress("localhost", 9999)); serverBootstrap.childHandler(new ChannelInitializer<SocketChannel>() { protected void initChannel(SocketChannel socketChannel) throws Exception { socketChannel.pipeline().addLast(new HelloServerHandler()); } }); ChannelFuture channelFuture = serverBootstrap.bind().sync(); channelFuture.channel().closeFuture().sync(); } catch(Exception e){ e.printStackTrace(); } finally { group.shutdownGracefully().sync(); }
创建一个EventLoopGroup
创建Netty TCP服务的第一步是创建Netty EventLoopGroup。示例使用 NIO,因此创建了NioEventLoopGroup。这是创建EventLoopGroup的代码:
EventLoopGroup group = new NioEventLoopGroup();
创建一个ServerBootStrap
创建Netty TCP服务的下一步是创建和配置ServerBootStrap。使用以下行完成此操作:
ServerBootstrap serverBootstrap = new ServerBootstrap(); serverBootstrap.group(group); serverBootstrap.channel(NioServerSocketChannel.class); serverBootstrap.localAddress(new InetSocketAddress("localhost", 9999));