Netty 中的 ChannelOutboundHandler 接口到底有啥用? - V2EX
lhx2008

Netty 中的 ChannelOutboundHandler 接口到底有啥用?

  •  
  •   lhx2008 Jul 11, 2018 3574 views
    This topic created in 2885 days ago, the information mentioned may be changed or developed.
    我看到大部分人用的都是 Inbound 的接口

    但是 outbound 里面有 read() write() close() 这些接口,什么时候会用到呢?

    因为感觉作用和 Inbound 接口是重叠的,调用顺序也基本和 Inbound 重叠,Inbound 链中也可以对出站数据进行处理,传入参数都是 ChannelHandlerContext

    网上的资料和官方 doc 也讲的很玄乎,入站出站,但是 debug 一下就发现和 Inbound 是重叠的,只是名字不一样

    in.channelActive()
    out.read()
    in.channelRead()
    in.channelReadComplete()
    out.close()
    in.channelInactive()
    Supplement 1    Jul 11, 2018
    3 replies    2019-02-14 18:02:02 +08:00
    wowo243
        1
    wowo243  
       Jul 11, 2018 via Android
    同好奇
    SparkMan
        2
    SparkMan  
       Jul 11, 2018
    你先看看 Netty 权威指南,估计你看书后就不会来问这种问题了
    mortonnex
        3
    mortonnex  
       Feb 14, 2019   1
    挖个坟

    个人觉得 https://stackoverflow.com/questions/22354135/in-netty4-why-read-and-write-both-in-outboundhandler 这里面的回答非常好, outboundHandler 可以理解为人为的外部操作, 而 netty 启动的时候,如果没有设置 autoRead, 那么 netty 不会去 read,所以这时候需要认为"驱动"netty 去 read, 所以 outboundHandler 里面有 read 方法,这个方法传递到最后其实是 header, 然后会注册 interestOps 为 OP_READ,从而监听读事件

    同时注意:netty 在每完成一次读之后,都会 removeReadOp()
    About     Help     Advertise     Blog     API     FAQ     Solana     912 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 21:23 PVG 05:23 LAX 14:23 JFK 17:23
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86