zoukankan      html  css  js  c++  java
  • netty学习记录1

    最近在学习netty,看的是《netty权威指南 第2版》。

    然后看的同时也把书上面的代码一行行敲下来做练习,不过到第三章就出问题了。

    按照书上讲的,sever/client端都需要继承ChannelHandlerAdapter这个类,然后重写channelActive()、channelRead()等几个方法。

    然后就是进行到这里,我以外的发现ChannelHandlerAdapter里面其实并没有那几个要被重写的方法,因此就算把程序运行起来也会发现程序没反应。

    然后如果我把ChannelHandlerAdapter改成ChannelInboundHandlerAdapter之后,程序又能正常收发数据了。

    我百思不得其解,以为是作者敲错了,但是百度上也没看到有人说有问题,而且这书也是第二版了,应该不会有这种问题的。

    最后看一个文章的时候才发现了原因,原因就是我和作者使用的jar包版本不同。我使用的是4.1.6.Final的,而作者是5.0.0.Alpha的,所以导致的这个问题。

    文章链接:Netty初步

    Netty3使用了上行下行的概念 

    Netty3: ChannelHandler有两个子接口ChannelUpstreamHandler,ChannelDownstreamHandler, 上行和下行。

    Netty4使用了入站出站的概念

    Netty4: 接口变成了ChannelInboundHandler ChannelOutboundHandler,可能是为了避免原来的上下行造成误解,所以改成入站和出站了。

    Netty5: 取消了进站、出站的划分,统一为继承ChannelHandlerAdapter,原来的ChannelInboundHandlerAdapter,ChannelOutboundHandlerAdapter被废弃。

    但是很奇怪的是,netty官方5.0.0版本貌似还就没更新了,一直更新的都是4.1版本的

  • 相关阅读:
    android activity声明周期学习笔记
    java笔记之static&final&abstract
    Android 动画分析学习笔记
    43:数据分类
    42:换汽水瓶ExchangeBottle
    41:简单密码
    40: Redraiment的走法(不连续最长子字符串)
    函数返回值是引用(引用当左值)
    引用的本质
    C语言实现计算字符串中最后一个单词长度,单词以空格隔开
  • 原文地址:https://www.cnblogs.com/kumu/p/7769302.html
Copyright © 2011-2022 走看看