zoukankan      html  css  js  c++  java
  • Netty Associated -- Channel

    A nexus to a network socket or a component which is capable of I/O operations such as read, write, connect, and bind.

    一个网络套接字或组件的枢纽, 用来进行 I/O 操作, 例如 read, write, connect, bind.


    A channel provides a user:

    一个Channel的提供给用户的东西有: 

    • the current state of the channel (e.g. is it open? is it connected?),
    • channel目前的状态(例如 是否是打开的? 是否是连接的?)
    • the configuration parameters of the channel (e.g. receive buffer size),
    • channel的配置参数(例如接收缓存的大小)
    • the I/O operations that the channel supports (e.g. read, write, connect, and bind), and
    • channel支持的I/O操作(例如 read, write, connect, bind)
    • the ChannelPipeline which handles all I/O events and requests associated with the channel.
    • 一个ChannelPipeline, 这个pipeline用来处理所有的I/O时间和域channel相关的请求

    All I/O operations are asynchronous.

    所有I/O操作都是异步的

    All I/O operations in Netty are asynchronous. It means any I/O calls will return immediately with no guarantee that the requested I/O operation has been completed at the end of the call. Instead, you will be returned with a ChannelFuture instance which will notify you when the requested I/O operation has succeeded, failed, or canceled.

    在Netty中所有I/O操作都是异步的. 这意味着任何的IO调用都会立即返回, 但是无法保证在IO调用完成以后,请求的IO操作已经完成了.取而代之的是, 你会被返回一个ChannelFuture实例, 它在请求的IO操作成功, 失败, 取消的时候会通知你.

    Channels are hierarchical

    Channel是分等级的

    A Channel can have a parent depending on how it was created. For instance, a SocketChannel, that was accepted by ServerSocketChannel, will return the ServerSocketChannel as its parent on parent().

    一个Channel可以有一个父母, 这取决于他是如何被创建的. 例如, 一个被ServerSocketChannel接受的SocketChannel, 调用它的parent()方法会返回他的父母 -- ServerSocketChannel


    The semantics of the hierarchical structure depends on the transport implementation where the Channel belongs to. For example, you could write a new Channel implementation that creates the sub-channels that share one socket connection, as BEEP and SSH do.

    分级结构的语义取决于Channel从属的传输实现.例如,你可以写一个新的Channel实现, 它创建一个子channel, 并共享一个socket连接, 就像 BEEP和SSH那样.

    Downcast to access transport-specific operations

    向下转型来访问特定传输协议操作

    Some transports exposes additional operations that is specific to the transport. Down-cast the Channel to sub-type to invoke such operations. For example, with the old I/O datagram transport, multicast join / leave operations are provided by DatagramChannel.

    一些传输协议暴露了一些这个协议特有的操作.可以将Channel向下转型为一个子类型来调用这些操作. 例如, 旧的IO数据报传输协议, 组播 join/ leave 操作都是由 DatagramChannel提供的.

  • 相关阅读:
    Winform界面开发:如何在代码中获取自定义外观元素属性的值
    VCL组件DevExpress VCL发布v20.1.4,附高速下载
    WPF界面开发技巧分享——如何实现自定义DateEdit并自动更正值
    Web开发实用技能,看Kendo UI for jQuery组模板如何使用
    docker从C盘迁移到D盘
    ubuntu16.04中开启和关闭防火墙命令
    Linux安装与卸载 docker-compose
    在Docker容器bash中输入中文
    in()和exists()
    mysql遇见Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre的问题
  • 原文地址:https://www.cnblogs.com/zemliu/p/3378713.html
Copyright © 2011-2022 走看看