当前位置: 首页 > news >正文

嘉兴高档网站建设网站 搭建 公司

嘉兴高档网站建设,网站 搭建 公司,一二三四视频社区,做科学实验的网站说明 io.netty.channel.ChannelInitializer是一个特殊的ChannelInboundHandler。它的主要作用是向 Channel对应的ChannelPipeline中增加ChannelHandler。执行完ChannelInitializer的initChannel(C ch)函数以后#xff0c;ChannelInitializer就会从ChannelPipeline自动删除自己…说明 io.netty.channel.ChannelInitializer是一个特殊的ChannelInboundHandler。它的主要作用是向 Channel对应的ChannelPipeline中增加ChannelHandler。执行完ChannelInitializer的initChannel(C ch)函数以后ChannelInitializer就会从ChannelPipeline自动删除自己防止重复进入。 一般是通过Bootstrap.handler(ChannelHandler) 、ServerBootstrap.childHandler(ChannelHandler)的方式分别在客户端、服务端中将ChannelInitializer这个ChannelHandler增加到ChannelPipeline中。 示例 思路 我们来验证下ChannelInitializer是否会被自动删除。我们在ChannelInitializer的initChannel(C ch)函数末尾打印出来当前ChannelPipeline中已经添加的ChannelHandler名称在Channel连接成功以后再打印出来当前ChannelPipeline中已经添加的ChannelHandler名称两者对照下就能看出来是否被自动删除了。 代码片段 package com.thb.power.terminal;import java.io.BufferedReader; import java.io.InputStreamReader;import com.thb.power.packet.register.RegisterRequestPacket;import io.netty.bootstrap.Bootstrap; import io.netty.buffer.ByteBuf; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelFutureListener; import io.netty.channel.ChannelOption; import io.netty.channel.EventLoopGroup; import io.netty.channel.nio.NioEventLoopGroup; import io.netty.channel.socket.nio.NioSocketChannel;/*** 主函数* author thb**/ public class Terminal {// 要连接的服务端的host static final String HOST System.getProperty(host, 127.0.0.1); // 要连接的服务端的端口号 static final int PORT Integer.parseInt(System.getProperty(port, 22335));public static void main(String[] args) throws Exception {// 配置客户端EventLoopGroup group new NioEventLoopGroup();try {Bootstrap b new Bootstrap();b.group(group).channel(NioSocketChannel.class).option(ChannelOption.TCP_NODELAY, true).handler(new TerminalInitializer());// 启动客户端Channel ch b.connect(HOST, PORT).sync().channel(); // 查看ChannelPipeline添加的ChannelHandler名称System.out.println(after channel connected:);for (String name : ch.pipeline().names()) {System.out.println(handler name: name);} ChannelFuture lastWriteFuture null;BufferedReader in new BufferedReader(new InputStreamReader(System.in));System.out.println(please input(register):);for (;;) {String line in.readLine();if (line null) {break;} // 如果用户输入register表示命令客户端发送注册请求给服务器if (line.toLowerCase().equals(register)) {RegisterRequestPacket registerRequest new RegisterRequestPacket();// 返回的ByteBuf存放着注册请求的数据ByteBuf buf registerRequest.build(ch);lastWriteFuture ch.writeAndFlush(buf); }}if (lastWriteFuture ! null) {lastWriteFuture.sync();}} finally {// 关闭event loop以便终止所有的线程group.shutdownGracefully();}}}// ChannelInitializer的子类 package com.thb.power.terminal;import io.netty.channel.ChannelInitializer; import io.netty.channel.ChannelPipeline; import io.netty.channel.socket.SocketChannel; import io.netty.handler.logging.LogLevel; import io.netty.handler.logging.LoggingHandler;public class TerminalInitializer extends ChannelInitializerSocketChannel {Overridepublic void initChannel(SocketChannel ch) throws Exception {ChannelPipeline p ch.pipeline();p.addLast(new LoggingHandler(LogLevel.INFO));// 查看ChannelPipeline添加的ChannelHandler名称System.out.println(in initChannel(SocketChannel ch) method of TerminalInitializer:);for (String name : ch.pipeline().names()) {System.out.println(handler name: name);} } }运行输出 从上面输出可以看出ChannelInitializer开始被添加到ChannelPipeline中后来又被自动删除了。
http://www.w-s-a.com/news/492987/

相关文章:

  • 网站制作一年多少钱免费做电子章网站
  • 信誉好的营销网站建设徐州市铜山新区建设局网站
  • 建行网站关于我们山西seo和网络推广
  • 1m带宽做网站怎么样深圳网站建设制作开发公司
  • 网站建设 服务内容 费用郴州网站建设公司哪里有
  • 网站关键词重要性育才网站建设
  • 网络安全形势下怎么建设学校网站wordpress最新主题下载
  • 自己建设网站需要什么条件.gs域名做网站怎么样
  • 网上做公益的网站推广手机卡返佣平台
  • 网站是公司域名是个人可以南京建设银行官方网站
  • 做互联网网站的会抓百度网盟推广 网站
  • 商务网站开发设计结论微信报名小程序怎么制作
  • 网站建设销售简历wordpress七比2
  • 制作网站报价工程项目查询哪个网站
  • 深圳移动网站建设制作公司网站建设的认识
  • 网站建设脚本语言有哪些想开网店哪个平台好
  • 视频网站用什么做的好深圳的小程序开发公司
  • 南京网站定制开发商城网站免费模板
  • 青海学会网站建设公司照片组合拼图
  • 中国建设银行福清分行网站爱站网权重查询
  • 外贸通网站建设网站建设7个主要流程图
  • 元气森林网络营销方式医疗网站优化怎么做
  • 手机网站制作报价表做网站公司做网站公司
  • 湖州网站设计吉林网站建设哪家好
  • 做存储各种环境信息的网站使用tag的网站
  • 阿里云用ip做网站网站开发员属于
  • 外链网盘下载南宁seo推广优化
  • 网站的推广方案有哪些此网站可能有
  • wordpress更改链接后网站打不开一键生成个人网站
  • 网站建设后台有哪些东西前端开发培训一般多少钱