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

抄袭别人网站农家乐怎么做网站

抄袭别人网站,农家乐怎么做网站,佛山大沥网站建设,北京做网站设计说明 io.netty.channel.ChannelInitializer是一个特殊的ChannelInboundHandler。它的主要作用是向 Channel对应的ChannelPipeline中增加ChannelHandler。执行完ChannelInitializer的initChannel(C ch)函数以后,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 ChannelInitializer<SocketChannel> {@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.yayakq.cn/news/28238/

相关文章:

  • 汽车网站营销上海徐汇区网站建设公司
  • 今科网站建设网站建设太金手指六六二七
  • 汽车网站开发与实现 论文龙川县建设网站
  • 网站建设及管理使用情况汇报网络域名是什么
  • 青岛做英文网站的公司wordpress 电商网站
  • wordpress分享视频大连百度网站排名优化
  • 销售推广做那个网站维护网站的一般方法
  • 泉州网站建设选择讯呢手机优化怎么解除
  • 成都营销型网站制作wordpress表格
  • 网站建设龙岗亚马逊做code的网站
  • 重庆企业网站开发方案wordpress主题中文主题下载
  • 福州专业网站设计网站建设采取招标的方式
  • 东营网站开发招聘lnmpa 搭建wordpress
  • 网站制作好以后怎么管理备案网站还是域名
  • 外贸网站推广方式可以把网站建设在云主机上吗
  • pc端网站布局c2c交易平台官网
  • 中标公示查询网站wordpress 淘宝客采集
  • 建材团购网站建设方案合肥网站建设公司 千鸟
  • 上海医疗器械网站前置审批网站logo源码
  • 我的网站不做推广 百度能搜索到我网站吗wordpress太慢了
  • asp.net mvc 企业网站文件服务器怎么搭建
  • 网站qq未启用阿克苏网站建设优化
  • 梧州市建设局网站有创意的个人网站名字
  • 自助建站软件企业网站建设规范
  • 开封市建设中专网站国内做网站比较好的公司有哪些
  • 久其软件公司网站西凤酒网站建设的基本情况
  • 做外贸是不是必须有网站哪个网站专门做高清壁纸
  • 鲜花网站建设方案朝阳seo建站
  • 网站建设前台功能千锋培训学费多少钱
  • 四川住房和城乡建设九大员网站wordpress 网站收录