
netty
iRich_全栈
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
netty基础教程-1、Helloworld(基于Http通信协议)
在学习netty之前,先来看看netty是什么;是怎么工作的 gradle依赖 plugins { id 'java' } group 'congjun.wang' version '1.0' sourceCompatibility = 1.8 targetCompatibility = 1.8 repositories { mavenCentral() } depen...原创 2019-02-03 10:49:33 · 12397 阅读 · 0 评论 -
netty基础教程-2、Netty工作原理架构图
server端工作原理如下图: server端启动时绑定本地某个端口,将自己NioServerSocketChannel注册到某个boss NioEventLoop的selector上。 server端包含1个boss NioEventLoopGroup和1个worker NioEventLoopGroup,NioEventLoopGroup相当于1个事件循环组,这个组里包含多个事件循环NioE...原创 2019-02-03 10:52:31 · 13866 阅读 · 1 评论 -
netty基础教程-3、helloworld(cs模式)
功能实现 服务端 接受客户端数据 响应结果给客户端 客户端 发送请求给服务端 接受服务端的响应 服务端实现 启动类:Server.java public class Server { public static void main(String[] args) throws Exception{ //创建两个组,分别用来接受客户端情求和处理客户端消息的 ...原创 2019-02-03 10:54:28 · 12455 阅读 · 0 评论 -
netty基础教程-4、helloworld(优化版)
功能实现 服务端 接受客户端数据 响应结果给客户端 客户端 发送请求给服务端 接受服务端的响应 服务端实现 启动类:Server.java public class Server { public static void main(String[] args) throws Exception{ //创建两个组,分别用来接受客户端情求和处理客户端消息的 ...原创 2019-02-03 11:00:06 · 12291 阅读 · 0 评论 -
netty基础教程-5、拆包黏包LengthFieldBasedFrameDecoder和LengthFieldPrepender解析
一、拆包黏包问题 数据在网络中都是以流的形式进行传输的,即像水流一样。没有所谓的开始位置和结束位置。这时就需要我们自己定义协议将数据进行分段处理,否则会出现拆包黏包的问题(数据读到一半解析失败);好在netty为我们提供了一些列的方法; TCP以流的方式进行数据传输,上层应用协议为了对消息进行区分,往往采用如下4种方式。 消息长度固定:累计读取到固定长度为LENGTH之后就认为读取到了一个完...原创 2019-02-11 11:52:46 · 13767 阅读 · 0 评论