• Netty使用(一)


    1、Netty介绍

    Netty是一款基于NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架;
    提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
    对比于BIO(Blocking I/O,阻塞IO),它的并发性能得到了很大提高。
    提供了对TCP、UDP和文件传输的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得IO操作结果。
    Netty的优点

    • 并发高
    • 传输快
    • 封装好

    2、Netty的核心组件

    为了后期更好地理解和进一步深入 Netty,有必要总体认识一下 Netty 所用到的核心组件以及它们在整个 Netty 架构中是如何协调工作的。
    Nettty 有如下几个核心组件:

    • Channel
    • ChannelFuture
    • EventLoop
    • ChannelHandler
    • ChannelPipeline

    2.1 Channel

     基础的IO操作,如绑定、连接、读写等都依赖于底层网络传输所提供的原语,
    在Java的网络编程中,基础核心类是Socket,而Netty的Channel提供了一组API,极大地简化了直接与Socket进行操作的复杂性,
    并且Channel是很多类的父类,如EmbeddedChannel、LocalServerChannel、NioDatagramChannel、NioSctpChannel、NioSocketChannel等。

    2.2 ChannelFuture

    Netty中的所有IO操作都是异步的,不会立即返回,需要在稍后确定操作结果。
    因此Netty提供了ChannelFuture,其addListener方法可以注册一个ChannelFutureListener,当操作完成时,不管成功还是失败,均会被通知。
    ChannelFuture存储了之后执行的操作的结果并且无法预测操作何时被执行,提交至Channel的操作按照被唤醒的顺序被执行。

  • 相关阅读:
    Wiki开源软件 介绍
    实时股票获取API
    .net 下动态加载自定义控件后传值及函数调用方法
    vim(gvim)相关插件整理
    CPPUnit 测试宏
    .bash_profile和.bashrc
    Linux下SSH配合SecureCRT的密匙完美使用方法(图)
    Windows下编译gdal使其支持proj
    收藏:解析#pragma指令
    Windows 2003中打开DirectX加速
  • 原文地址:https://www.cnblogs.com/xidianzxm/p/11743296.html
Copyright © 2020-2023  润新知