netty
zisuu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
io模型合集及NIO详解
三大IO模型BIO模型每一个请求开一个线程,缺点:这种方式势必会造成线程开销当请求没有结果的时候,会造成阻塞NIO模型一个线程处理多个请求,即客户端发送的请求会发送到多路复用器上,多路复用器轮询到连接又I/O请求就进行处理从上面这幅图可以看出,一个线程维护一个选择器,一个选择器轮询多个请求,只要有请求带着事件到来,就去处理----即netty这个框架是一个事件驱动的框架NIO...原创 2020-05-03 23:11:09 · 965 阅读 · 0 评论 -
netty(七)--开发netty心跳检测机制
需求:所用接口说明:当IdleStateEvent产生后,会传递给管道的下一个handler,通过调用下一个handler的userEventTiggered,在该方法中区处理IdleStateEvent(读空闲,写空闲,读写空闲)服务端代码:package com.example.demo.heartBeat;import com.example.demo.chat.chatSe...原创 2020-05-03 23:05:08 · 242 阅读 · 0 评论 -
netty(六)--开发群聊系统
需求:大概流程:编写服务端编写服务端handler编写客户端编写客户端handler服务端开发:server:package com.example.demo.chat;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.*;import io.netty.channel.nio.NioE...原创 2020-05-03 22:19:23 · 261 阅读 · 0 评论 -
netty(五)--任务队列
任务队列典型应用场景用户自定义普通任务用户自定义定时任务推送系统异步任务自定义普通任务 ctx.channel().eventLoop().execute(()->{ try { Thread.sleep(5000); ctx.writeAndFlush(Unpooled.copied...原创 2020-05-03 20:56:13 · 396 阅读 · 0 评论 -
netty系列(四)--netty模型及入门案例
Reactor模式基本原理:传统的BIO模型会造成大量线程的浪费针对传统BIO的缺点,reactor解决方案:基于I/O复用模型,多个连接公用一个阻塞对象,应用程序只需要在一个阻塞对象等待,当某个连接有新的数据可以处理时,操作系统通知应用程序,程序从阻塞状态返回,开始处理业务基于线程池服用,不必为每个连接创建线程,一个线程可以处理多个业务reactor核心组成:Rea...原创 2020-05-03 20:30:18 · 262 阅读 · 0 评论 -
netty系列(三)--nio快速入门
在学习nio入门前,请先学习前一篇文章,理清nio三大组件的关系图解关系:说明:当客户端连接时,会通过ServerSocketChannel,得到SocketChannel将socketChannel注册到Selector上,并且返回一个selectorKey,该SelectorKey会和Selector关联selector进行监听select方法,返回有事件发生的通...原创 2020-05-03 16:58:39 · 235 阅读 · 0 评论 -
netty(二)--NIO及Nio三大组件详解
NIO三大组件的关系:三大组件:selector,channel,buffer一个Select对应一个线程,一个线程对应多个channel程序切换到那个channel是由事件决定的Selector会根据不同的事件,在各个通道上切换Buffer是一个内存块,底层是一个数据数据的读取写入是通过Buffer.在传统Bio中要么是输入流,要么是输出流,不能是双向,但是N...原创 2020-05-03 16:18:39 · 590 阅读 · 0 评论 -
netty系列(一):IO模型
BIO模型每一个请求开一个线程,缺点:这种方式势必会造成线程开销当请求没有结果的时候,会造成阻塞NIO模型一个线程处理多个请求,即客户端发送的请求会发送到多路复用器上,多路复用器轮询到连接又I/O请求就进行处理从上面这幅图可以看出,一个线程维护一个选择器,一个选择器轮询多个请求,只要有请求带着事件到来,就去处理----即netty这个框架是一个事件驱动的框架NIO框架AIO模...原创 2020-05-03 15:00:01 · 255 阅读 · 0 评论
分享