
Netty
文章平均质量分 93
Netty In Action 学习笔记,在做一个交易平台项目之前,学习了下 Netty,后面就用于项目实战。
陈建111
我叫陈建,一个对Java后端技术比较感兴趣的码农
展开
-
Netty In Action-第十六章 从EventLoop取消注册和重新注册
本章介绍EventLoop 从EventLoop注册和取消注册 在Netty中使用旧的Socket和ChannelNetty提供了一个简单的方法来连接Socket/Channel,这是在Netty之外创建并转义他们的责任到Netty。这允许你将遗留的集成框架以无缝方式一步步迁移到Netty;Netty还允许取消注册的通道来停止IO处理,这可以暂停程序处理并释放资源。这些功能在某些情况可能不是非常有用,但是要这些特性可以解决一些困难的问题。举个例子,有一个非常受欢迎的社交网站,其用户增长非常快,原创 2020-11-25 15:24:33 · 64 阅读 · 0 评论 -
Netty In Action-第十五章 选择正确的线程模型
本章介绍原创 2020-11-25 13:18:31 · 76 阅读 · 1 评论 -
Netty In Action-第十四章 实现自定义的编码解码器
本章讲述Netty中如何轻松实现定制的编解码器,由于Netty架构的灵活性,这些编解码器易于重用和测试。为了更容易实现,使用Memcached作为协议例子是因为它更方便我们实现。Memcached是免费开源、高性能、分布式的内存对象缓存系统,其目的是加速动态Web应用程序的响应,减轻数据库负载;Memcached实际上是以key-value存储任意数据的内存小块。可能有人会问“为什么使用Memcached?”,因为Memcached协议非常简单,便于讲解。1.编解码器的范围我们将只实现Memca原创 2020-11-24 10:22:52 · 66 阅读 · 0 评论 -
Netty In Action-第十三章 通过UDP广播事件
本章介绍UDP介绍 UDP程序结构和设计 日志事件POJO 编写广播器 编写监听器 使用广播器和监听器前面的章节都是在实例TCP协议,这一章,我们将使用UDP。UDP协议时一种无连接协议,若需要很高的性能和对数据的完成性没有严格要求,那使用UDP是一个很好的办法。最著名的基于UDP协议是用来域名解析的DNS。Netty使用了统一的传输AI,这使得编写基于UDP的应用程序很容易。可以重用现有的ChannelHandler和其他公共组件来编写另外的Netty程序。看完本章后,你会知道什么是无原创 2020-11-24 08:52:39 · 81 阅读 · 1 评论 -
Netty In Action-第十一章 WebSocket
本章介绍WebSocket ChannelHandler,Decoder and Encoder 引导一个Netty基础程序 测试WebSocket实时Web现在随处可见,很多的用户希望能从web站点实时获取信息。Netty支持WebSocket实现,并包含了不同的版本,我们可以非常容易的实现WebSocket应用。使用Netty附带的WebSocket,我们不需要关注协议内部实现,只需要使用Netty替代的一些简单方法就可以实现。本章将通过的例子应用帮助你来使用WebSocketing了解它是原创 2020-11-23 16:45:23 · 69 阅读 · 1 评论 -
Netty In Action-第十章 单元测试代码
本章介绍单元测试 EmbeddedChannel学会了使用一个或多个ChannelHandler处理接收/发送数据消息,但是如何测试它们呢?Netty提供了2个额外的类使得测试ChannelHandler变得很容易,本章讲解如何测试Netty程序。测试使用JUnit4,如果不会用可以慢慢了解。JUnit4很简单,但是功能很强大。本章将重点讲解已实现的ChannelHandler和编解码器。1.General正如签名所学的,Netty提供了一个简单的方法在ChannelPipeline上“堆叠原创 2020-11-23 10:25:25 · 75 阅读 · 1 评论 -
Netty In Action-第九章 引导Netty应用程序
本章介绍引导客户端和服务器 从Channel引导客户端 添加多个ChannelHandler 使用通道选项和属性上一章学习了编写自己的ChannelHandler和编解码器并将它们添加到Channel的ChannelPipeline中。本章将讲解如何将它们结合在一起使用。Netty提供了简单统一的方法来引导服务器和客户端。引导是配置Netty服务器和客户端的一个过程,Bootstrap允许这些应用程序很容易的重复使用。Netty程序的客户端和服务端都可以使用Bootstrap,其目的是简化编原创 2020-11-20 15:51:38 · 100 阅读 · 1 评论 -
Netty In Action-第八章 附带的ChannelHandler和Codec
本章介绍使用SSL/TLS创建安全的Netty程序 使用Netty创建HTTP/HTTPS程序 处理空闲连接和超时 解码分隔符和基于长度的协议 写大数据 序列化数据上一章讲解了如何创建自己的编解码器,我们现在可以用上一章的只是来编写自己的编解码器。不过Netty提供了一些标准的ChannelHandler和Codec。Netty还提供了很多协议的支持,所以我们不必自己发明轮子。Netty提供的这些实现可以解决我们大部分需求。本章讲解Netty中使用SSL/TLS编写安全的应用程序,编写HTT原创 2020-11-18 16:55:53 · 113 阅读 · 0 评论 -
Netty In Action-第七章 编解码器Codec
本章介绍Codec,编解码器 Decoder,解码器 Encoder,编码器Netty提供了编解码器框架,使得编写自定义的编解码器很容易,并且也很容易重用和封装。本章讨论Netty的编解码器框架以及使用。1.编解码Codec编写一个网络应用程序需要实现某种编解码器,编解码器的作用就是将原始字节数据域自定义的消息对象进行互转。网络中都是以字节码的形式来传输数据的,服务器编码数据后发送到客户端,客户端需要对数据进行解码,因为编解码器由两部分组成:Decoder,解码器 Encoder,编原创 2020-11-17 19:04:21 · 203 阅读 · 1 评论 -
Netty In Action-第六章 ChannelHandler
本章介绍ChannelPipeline ChannelHandlerContext ChannelHandler Inbound vs Outbound(入站和出站)接收连接或创建他们只是应用程序的一部分,但是一个网络应用往往更复杂的,需要更多的代码编写的是处理传入和传出数据。Netty提供了一个强大的处理这些事情的功能,允许用户自定义ChannelHandler的实现来处理数据。使得ChannelHandler更强大的是可以连接每个ChannelHandler来实现任务,这有助于代码的整洁和重原创 2020-11-17 15:38:45 · 95 阅读 · 1 评论 -
Netty In Action-第五章 Buffers(缓冲)
本章介绍ByteBuf ByteBufHolder ByteBufAllocator 使用这些接口分配缓冲和执行操作每当需要传输数据时,必须包含一个缓冲区。Java NIO API自带的缓冲区类是相当有限的,没有经过优化,使用JDK的ByteBuffer操作更复杂。Netty提供了一个强大缓冲区实现用于表示一个字节序列,并帮助你操作原始字节或自定义的POJO。Netty的ByteBuf相当于JDK的ByteBuffer,ByteBuf的作用是在Netty中通过Channel传输数据。它被重新设计原创 2020-11-16 17:01:17 · 134 阅读 · 0 评论 -
Netty In Action-第四章 Transports(传输)
本章内容Transport(传输) NIO、OIO、Local(本地)、Embedded(嵌入式) Use-case(用例) APIs(接口)网络应用程序一个很重要的工作就是传输数据。传输数据的过程不一样取决于是使用哪种交通工具,但是传输的方式是一样的:都是以字节码传输。...原创 2020-11-16 10:11:37 · 85 阅读 · 0 评论 -
Netty In Action-第三章 Netty核心概念
本章我们讨论Netty的10个核心类。Bootstrap or ServerBootstrap EventLoop EventLoopGroup ChannelPipeline Channel Future or ChannelFuture ChannelInitializer ChannelHandler本节的目的就是介绍以上这些概念,帮助你了解他们的用法。1.Netty Crash Course在我们开始之前,如果你了解Netty程序的一般结构和大致用法会更好。一个Net原创 2020-11-13 10:04:22 · 109 阅读 · 1 评论 -
Netty In Action-第二章 第一个Netty程序
本章简单介绍Netty的核心概念,这个核心概念就是学习Netty是如何拦截和处理异常,对于刚开始学习Netty的读者,利用Netty的异常拦截机制来调试程序的问题很有帮助。本章还会介绍其他一些核心概念,如服务器和客户端的启动以及分离通道的处理程序。本章节中将编写一个基于Netty的服务器和客户端端来相互通信。1.设置开发环境安装jdk1.8 配置netty4 安装Idea2.Netty客户端和服务器描述本节构建一个完整的Netty服务器。在这个例子中,同时实现了服务器和客户端,你会对他们的原创 2020-11-12 18:19:50 · 74 阅读 · 0 评论 -
Netty In Action-第一章 Netty介绍
Netty是基于Java NIO的网络应用框架,它是一个NIO Client-Server框架,使用Netty可以快速开发网络应用,例如服务器和客户端协议。Netty提供了一组新的方式来开发网络应用程序,这种新的方式使得它很容易使用和有很强的扩展性。Netty的内部实现是很复杂的,但是Netty提供了简单易用的api从网络处理代码中解耦业务逻辑。1为什么使用Netty?Netty提供了高层次的抽象来简化TCP和UDP服务器的编码,但是你仍然可以使用底层地API。1.1不是所有的网络框架都是一样的原创 2020-11-12 11:53:25 · 85 阅读 · 1 评论