![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Netty
文章平均质量分 77
程序小达人
这个作者很懒,什么都没留下…
展开
-
Netty由浅入深的学习指南(聊天室的实现)
本章节我们将延续上一章节的内容继续完成聊天室的实现。本次不涉及权限控制相关的实现,仅对业务进行初步的实现,有兴趣的朋友可以在此基础上完善。 3.3 聊天室的实现 3.3.1 整体包结构 3.3.2 编程代码 封装请求消息 消息父类 @Data public abstract class Message implements Serializable { public static Class<?> getMessageClass(int messageType){原创 2021-05-13 09:53:43 · 530 阅读 · 0 评论 -
Netty由浅入深的学习指南(进阶粘包半包)
本章节主要介绍粘包半包的解决方法、协议的设计、序列化知识;同时通过实现聊天室案例将这些知识点串联起来。 3.1 粘包半包 粘包半包现象 粘包:多条数据粘连,一次发送给服务器 半包:一条完整消息从某个点断开,发送给服务器的消息不完整 演示代码 //服务器演示代码 public void start(){ //声明工作线程及主线程 NioEventLoopGroup boss = new NioEventLoopGroup(1); NioEventLoopGroup worker原创 2021-05-13 09:48:10 · 477 阅读 · 0 评论 -
Netty由浅入深的学习指南(入门)
本章节会介绍EventLoop、Channel、Future、Pipeline、Handdler、ByteBuf等重要的组件。 2.1 netty的优势 Netty vs NIO 需要自己构建协议 解决TCP传输问题,如粘包、半包 epoll空轮巡导致CPU 100% 对API进行增强,使之更易用 Netty vs 其他网络应用框架 迭代快 API更加的简洁 文档优秀全面 2.2 第一个NeetyDemo “Hello World” 目标 开发一个简单的服务器端和客户端 客户端向服务器原创 2021-05-13 09:46:16 · 601 阅读 · 1 评论 -
Netty由浅入深的学习指南(NIO基础)
本章节会重点讲解NIO的Selector、ByteBuffer和Channel三大组件。NIO即非阻塞IO。 1.1 三大组件 1.1.1 Channel(通道) & Buffer(缓冲区) channel有一点类似于stream,他就是读写数据的双向通道,可以从channel将数据读入buffer,也可以将buffer的数据写入channel,而之前的stream要么是输入,要么是输出,channel比stream更为底层。 常见的Channel: FileChannel :文件 D原创 2021-05-13 09:42:25 · 507 阅读 · 0 评论