美文网首页
我的笔记

我的笔记

作者: 圆滚滚_8e70 | 来源:发表于2019-11-04 23:15 被阅读0次

    今天我在学习<netty in action>这本书. 前俩天照着书本写了个客户端和服务端的demo. 留下了几个问题:
    Q1:netty服务端怎么构建?
    Q2:netty客户端怎么构建? 好像使用了Bootstrap
    Q3:netty服务端是如何将数据发送回客户端的,是如何定位到客户端的具体地址,看了下代码,好像用了Socket进行了网络传输,至于怎么传输给客户端的,这个问题还没找到答案. 看看第三部分(netty的组件和设计)能不能找到我的答案.

    netty网络抽象的组件:
    Channel - 通道,类似Socket
    EventLoop - 本质好像是个ScheduledExecutorService, Channel, EventLoop,Thread, EventLoopGroup的关系是:

    • 一个EventLoopGroup包含一个或多个EventLoop
    • 一个EventLoop在他的生命周期内只和一个Thread绑定;
    • 所有由EventLoop处理当IO事件,都将在它专有的Thread上被处理
    • 一个Channel在它的生命周期内只和一个EventLoop绑定
    • 一个EventLoop可能被分配给一个或多个Channel
    注意:一个Channel所有的I/O操作都是由相同的Thread处理完成的,这种设计实际上消除了对于同步的需要(同一线程,不存在不一致问题).
    

    ChannelFuture - 异步通知, netty里面所有的返回,都是异步的.通过addListener将结果通知给客户端.

    执行应用程序处理逻辑的组件:
    ChannelHandler - 应用程序处理业务逻辑
    ChannelPipline - ChannelHandler责任链

    引导类组件:

    netty组件分类.png

    相关文章

      网友评论

          本文标题:我的笔记

          本文链接:https://www.haomeiwen.com/subject/mejjbctx.html