netty
weixin_43599368
这个作者很懒,什么都没留下…
展开
-
Netty实战练习——傻瓜服务器
目录 用netty实现一个简单的“傻瓜服务器”环境要求:项目结构:代码详情:1、FoolServerHandler.java2、FoolServer.java运行效果:源码地址:用netty实现一个简单的“傻瓜服务器”将接收到的数据打印在控制台上环境要求:JDK 1.8 Maven 3.3.3 Netty 4.1项目结构:代码详情:...原创 2018-11-11 20:33:23 · 338 阅读 · 0 评论 -
Netty实战练习——聊天室
目录 用netty实现一个简单的“聊天室”环境要求:项目结构:代码详情:1、ChatServerHandler.javaSimpleChannelInboundHandler:ChannelGroup:2、ChatServer.javaDelimiterBasedFrameDecoder:3、ChatClientHandler.java4、ChatC...原创 2018-11-11 21:08:54 · 296 阅读 · 0 评论 -
Netty实战练习——自定义Encoder和Decoder
目录实现encoder和decoder的方法一、利用netty1、实现messageToByte,使用java原生的序列化方式2、利用netty支持的现有序列化框架3、自定义序列化协议二、在handler的read和write方法中直接实现tcp拆包粘包见下篇需求:1、客户端向服务端发送自定义类InputParam:public class InputPa...原创 2018-11-18 23:05:22 · 2104 阅读 · 0 评论 -
Netty源码分析——ByteBuf
目录1、ByteBuffer介绍2、ByteBuffer缺点3、ByteBuf介绍4、ByteBuf常用API5、ByteBuf转换成标准的ByteBuffer6、ByteBuf源码分析7、最简单的将接收到的消息打印出来Netty 里面数据读写是以 ByteBuf 为单位进行交互的,ByteBuf是Byte数组的缓冲区,像java里的ByteBuffer1、By...原创 2018-11-17 15:06:15 · 345 阅读 · 0 评论 -
Netty实战练习——tcp拆包和粘包
目录一、发现问题二、自定义协议三、编解码链条四、运行结果源码地址:一、发现问题继续上篇帖子的内容,https://blog.csdn.net/weixin_43599368/article/details/84206351利用java原生序列化方式来编码解码,其余代码如下:RpcClient:package rpcserver.client;impor...原创 2018-11-25 23:44:43 · 350 阅读 · 0 评论 -
Netty框架中的设计模式
1、facade模式(外观模式)JDK的SocketChannel和ServerSocketChannel没有统一的Channel接口供业务开发者使用,对于用户而言,没有统一的操作视图,使用起来不方便。而Netty重新定义了Channel接口,采用facade模式进行封装,将网络io操作,网络io相关联的其他操作封装起来,统一对外提供。参考:https://www.cnblogs.com/...原创 2018-12-10 00:01:13 · 672 阅读 · 0 评论 -
Java IO模型与Netty线程模型
目录 一、概念介绍1、同步与异步2、阻塞与非阻塞3、同步阻塞io4、同步非阻塞io5、IO多路复用6、异步IO二、BIO(同步阻塞IO)三、伪异步IO四、NIO(同步阻塞IO)五、Netty线程模型1、Reactor单线程模型2、Reactor多线程模型3、主从Reactor多线程模型4、Netty线程模型实现一、概念介绍...原创 2018-12-10 08:55:34 · 718 阅读 · 1 评论 -
Netty源码分析——NioEventLoopGroup & NioEventLoop
目录 1、NioEventLoopGroup1.1 类图1.2 初始化1.创建线程执行器2.创建EventLoop,并存储到EventExecutor类型的数组中3.创建线程选择器2、NioEventLoop2.1 类图2.2 selector2.3 run1.轮询io事件2.处理轮询到的key3.执行任务队列中的task1、NioEve...原创 2019-01-06 20:56:59 · 568 阅读 · 1 评论