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
Netty-01-为什么需要 netty
为什么需要一种技术
技术的诞生是为了解决原来的技术解决不了,或者难以解决得问题。
我们一步步看下 netty 为我们带来了什么。
java NIO 的缺陷
JDK 原生也有一套网络应用程序 API,但是存在一系列问题,主要如下:
NIO 的类库和 API 繁杂,使用麻烦。
你需要熟练掌握 Selector、ServerSocketChannel、SocketChannel、Byt...
2017-11-16 11:23:06 |
Netty
Netty-01-netty version 版本选择
如果你是公司的技术架构师,推荐用 netty 的哪个版本?为什么
作为公司的技术架构师,推荐使用Netty 4.x系列的最新版本,目前是4.1.68.Final。
原因如下:
4.x系列已经得到了广泛的使用和验证,是稳定性和可靠性都比较高的版本。
Netty 4.x系列相对于之前的版本,引入了很多新特性和改进,例如更好的内存管理、更好的线程模型、更快...
2017-11-16 11:23:06 |
Netty
Netty-00-概览
Netty
为什么学习呢
平时用到的 RPC/MQ/Cache/Database,其实底层都用到了网络通讯。
原来也完整的学习过 java 的网络编程, Socket、nio 等,但是长时间不使用还是会容易忘记。
为什么记下来
人的记忆力是不可靠的,或者说是健忘的。
任何一项技术在学习的时候无论多么熟练,二年不用,全忘干净。
目标
熟练使用 netty 进行编程,比如编写自己...
2017-11-16 11:23:06 |
Netty