From 3ce8e9212f465af655a92a9a7d5302f92acb5e40 Mon Sep 17 00:00:00 2001 From: yanghb <yanghb> Date: 星期二, 04 四月 2023 12:11:43 +0800 Subject: [PATCH] 名称调整 --- ZuulTravel/src/main/java/com/sinata/zuul/util/applets/NettyServer0.java | 33 +++++++++++++++++---------------- 1 files changed, 17 insertions(+), 16 deletions(-) diff --git a/ZuulTravel/src/main/java/com/sinata/zuul/util/applets/NettyServer0.java b/ZuulTravel/src/main/java/com/sinata/zuul/util/applets/NettyServer0.java index aafe1b3..8fafdcf 100644 --- a/ZuulTravel/src/main/java/com/sinata/zuul/util/applets/NettyServer0.java +++ b/ZuulTravel/src/main/java/com/sinata/zuul/util/applets/NettyServer0.java @@ -2,9 +2,12 @@ import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.Channel; +import io.netty.channel.ChannelFuture; import io.netty.channel.EventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioServerSocketChannel; +import io.netty.handler.logging.LogLevel; +import io.netty.handler.logging.LoggingHandler; import java.util.Timer; import java.util.TimerTask; @@ -48,29 +51,27 @@ @Override public void run() { System.out.println("===========================Netty端口启动========"); - // Boss线程:由这个线程池提供的线程是boss种类的,用于创建、连接、绑定socket, - // (有点像门卫)然后把这些socket传给worker线程池。 - // 在服务器端每个监听的socket都有一个boss线程来处理。在客户端,只有一个boss线程来处理所有的socket。 EventLoopGroup bossGroup = new NioEventLoopGroup(); - // Worker线程:Worker线程执行所有的异步I/O,即处理操作 - EventLoopGroup workrGroup = new NioEventLoopGroup(); + EventLoopGroup workerGroup = new NioEventLoopGroup(); try { - - // ServerBootstrap 启动NIO服务的辅助启动类,负责初始话netty服务器,并且开始监听端口的socket请求 - ServerBootstrap b = new ServerBootstrap(); - b.group(bossGroup, workrGroup); - // 设置非阻塞,用它来建立新accept的连接,用于构造serversocketchannel的工厂类 - b.channel(NioServerSocketChannel.class); - // ChildChannelHandler 对出入的数据进行的业务操作,其继承ChannelInitializer - b.childHandler(new ChildChannelHandler()); + //1.创建服务端启动助手 + ServerBootstrap serverBootstrap = new ServerBootstrap(); + //2.设置线程组 + serverBootstrap.group(bossGroup, workerGroup); + //3.设置参数 + serverBootstrap.channel(NioServerSocketChannel.class) + .handler(new LoggingHandler(LogLevel.DEBUG)) + .childHandler(new ChildChannelHandler()); System.out.println("服务端开启等待客户端连接 ... ..."); - Channel ch = b.bind(9090).sync().channel(); - ch.closeFuture().sync(); + //4.启动 + ChannelFuture channelFuture = serverBootstrap.bind(80).sync(); + System.out.println("--Netty服务端启动成功---"); + channelFuture.channel().closeFuture().sync(); } catch (Exception e) { e.printStackTrace(); } finally { bossGroup.shutdownGracefully(); - workrGroup.shutdownGracefully(); + workerGroup.shutdownGracefully(); } } } -- Gitblit v1.7.1