
Netty
文章平均质量分 88
Al_assad
脚踏实地,不吹水不装逼不讥讽
展开
-
Netty 使用 EmbeddedChannel 进行单元测试
Netty 使用 EmbeddedChannel 进行单元测试对于 Netty 的 ChannelHandler 进行单元测试,Netty 提供了 EmbeddedChannel 嵌入式通道来完成这一过程,主要使用该通道来测试数据的入站出站过程是否合法;该通道提供以下常用的 API:writeInbound 写一个入站消息到 EmbeddedChannel。 如果数据能从 EmbeddedChan...原创 2018-03-07 15:48:23 · 2957 阅读 · 0 评论 -
Netty 实现心跳发送机制
Netty 实现心跳发送机制处理空闲连接是一项常见的任务,为了能够及时的将资源释放出来,需要在服务端检测空闲连接和超时,常见的方法是通过发送信息来测试一个不活跃的链接,通常被称为“心跳”,然后在远端确认它是否还活着,Netty 提供了 IdleStateHandler 处理这个过程;以下是一个示例的实现控制器,在服务端每间隔 5s(设置为 5s 仅仅只是为了测试方便,实际开发中可以设置一个更长的事...原创 2018-03-07 15:50:43 · 4139 阅读 · 0 评论 -
Netty 支持 HTTP 协议
Netty 支持 HTTP 协议对于 HTTP/HTTPS 协议的支持,Netty 提供以下的 codec 编解码器支持:HttpRequestEncoder对 HTTP 请求进行解码,用于服务端入站HttpResponseEncoder对 HTTP 响应进行解码,用于客户端入站HttpRequestDecoder对 HTTP 请求进行编码,用于客户端出站HttpResponseDecoder对...原创 2018-03-07 15:52:16 · 2132 阅读 · 1 评论 -
Netty(1):主要部件介绍 & Hello World 实例
Netty 简介※以下系列笔记总结自《Netty in Action》(Norman Maurer),和 Netty 4.x 官方技术文档;Netty 是一个高性能、高拓展性、非阻塞的 Java 异步网络通信框架,Netty IO 传输部分是基于 Java NIO 的,同时对 NIO 复杂的 API 进行了进一步的封装,使得编写高性能的 Java 异步网络通信程序更将简单方便;Netty 简化了 ...原创 2018-03-05 22:08:45 · 1194 阅读 · 0 评论 -
Netty(2):核心部件:Buffer 缓冲器
Netty 核心部件:Buffer 缓冲器JDK NIO 提供了 ByteBuffer 作为字节数据容器,但是实际使用过程会比较繁琐,特别是读写切换;Netty 提供了自己的缓冲区实现 BytedBuf ,用于简化字节缓冲区的使用;JDK ByteBuffer 和 Netty ByteBuf 一个很大的区别是:JDK ByteBuffer 有 4 个索引(mark、position、limit、c...原创 2018-03-05 22:11:48 · 915 阅读 · 0 评论 -
Netty(3):核心部件:Transport 传输
Netty 核心部件:Transport 传输功能JDK 中对于 NIO(java.nio)、OIO(java.net) 的网络编程 API 的差异很大,在进行程序移植时的难度比较大,而 Netty 对于 NIO、OIO 等提供了统一的 API 接口;如对于 01. Netty 主要部件介绍 & Hello World 实例 中的 Hello World 实例,使用 NIO Channel...原创 2018-03-05 22:14:17 · 1926 阅读 · 0 评论 -
Netty(4):核心部件: ChannelPipeline & ChannelHandler 处理链
ChannelHandlerChannel 生命周期Netty 的 Channel 含有以下 4 个生命周期:channelUnregistered - channel已创建但未注册到一个 EventLoop.channelRegistered - channel 注册到一个 EventLoop.channelActive - channel 变为活跃状态(连...原创 2018-03-05 22:18:17 · 1325 阅读 · 0 评论 -
Netty(5):核心部件:Codec 编解码器
Netty Codec 编解码器Netty 对于解决数据从一种特定协议格式到另一种格式的转换(如二进制字节和POJO之间地转换),提供了 codecs (编解码器) 组件来处理的。使用 Netty 的 codecs ,可以很方便地为各种不同地协议编写编解码器;解码器:负责处理入站数据,将消息从字节或其他序列形式转成指定的消息对象;编码器:负责处理出站数据,将消息对象转化为字节或其他序列形式;消息被...原创 2018-03-05 22:20:13 · 925 阅读 · 0 评论