Netty-06-基础组件之 ChannelHandler
ChannelHandler
整体体系
作用
接受客户端的连接和创建连接只是应用程序中的一步,更加重要的还是处理传入传出的数据。
netty提供了强大的事件处理机制,允许用户自定义ChannelHandler的实现来处理数据。
方法
ChannelHandler用于处理Channel对应的事件
ChannelHandler接口里面只定义了三个生命周期方法,我们主要实现它的子...
2017-11-16 11:23:06 |
Netty
Netty-05-异步结果的获取 ChannelFuture
异步
异步的概念和同步相对。
当一个异步过程调用发出后,调用者不能立刻得到结果。
实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。
异步的好处是不会造成阻塞,在高并发情形下会更稳定和更高的吞吐量。
ChannelFuture
说到Netty中的异步,就不得不提ChannelFuture。
Netty中的IO操作是异步的,包括bind、write、connect...
2017-11-16 11:23:06 |
Netty
Netty-04-基础组件之 Callback
Callback 入门例子
代码
TestServer
package com.github.houbb.netty.inaction.components.callback;
import io.netty.bootstrap.ServerBootstrap;
import io.netty.channel.ChannelFuture;
import io.netty.ch...
2017-11-16 11:23:06 |
Netty
Netty-03-基础组件之 Channel
Channel
官方简介
网络套接字或能够执行I/O操作(如读取,写入,连接和绑定)的组件的连接。
Channel 为用户提供:
通道的当前状态(例如它是否打开?是否已连接?),
通道的配置参数(例如接收缓冲区大小),
通道支持的I/O操作(例如,读,写,连接和绑定),以及
ChannelPipeline,用...
2017-11-16 11:23:06 |
Netty
Netty-03-基础组件简介
知识回顾
上一节我们写了一个入门的案例。
其中用到了很多类,本节就对使用到的每一个类进行初步的讲解。
在我们更加详细地研究Netty 的各个组件时,我们将密切关注它们是如何通过协作来支撑这些体系结构上的最佳实践的。
Channel、EventLoop 和ChannelFuture
接下来的各节将会为我们对于Channel、EventLoop 和ChannelFuture 类进行的讨...
2017-11-16 11:23:06 |
Netty
Netty-07-Echo 服务器和客户端示例
快速开始
Netty-快速开始 演示了一个丢弃版本的 Netty 入门案例。
现在我们来看一个 Echo 版本的例子。
服务端
Handler 实现
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import io.netty.channel.ChannelFutureListener;
impor...
2017-11-16 11:23:06 |
Netty
Netty-02-Netty 架构详解
Netty 架构
学习一门技术,在入门使用之后。最好是知道这个框架的整体设计思想。
本文基于 Netty 4.1 展开介绍相关理论模型,使用场景,基本组件、整体架构,知其然且知其所以然,希望给大家在实际开发实践、学习开源项目方面提供参考。
Netty 逻辑架构
Netty 采用了典型的三层网络架构进行设计和开发,其逻辑架构图如下所示。
通信调度层 Reactor
它由一系列辅...
2017-11-16 11:23:06 |
Netty
Netty-02-Quick Start 快速开始
Netty
Netty is an asynchronous event-driven network application framework
for rapid development of maintainable high performance protocol servers & clients.
Unified API for various t...
2017-11-16 11:23:06 |
Netty