首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
netty
订阅
drogba65538
更多收藏集
微信扫码分享
微信
新浪微博
QQ
13篇文章 · 0订阅
彻底理解Netty,这一篇文章就够了
有了Netty,你可以实现自己的HTTP服务器,FTP服务器,UDP服务器,RPC服务器,WebSocket服务器,Redis的Proxy服务器,MySQL的Proxy服务器等等。 HTTP服务器之所以称为HTTP服务器,是因为编码解码协议是HTTP协议,如果协议是Redis协…
Netty源码分析之LengthFieldBasedFrameDecoder
上面这类数据包协议比较常见的,前面几个字节表示数据包的长度(不包括长度域),后面是具体的数据。拆完之后数据包是一个完整的带有长度域的数据包(之后即可传递到应用层解码器进行解码),创建一个如下方式的LengthFieldBasedFrameDecoder即可实现这类协议 2. 长…
netty源码分析之pipeline(二)
顾名思义,unsafe是不安全的意思,就是告诉你不要在应用程序里面直接使用Unsafe以及他的衍生类对象。
netty源码分析之pipeline(一)
1.以新连接创建为例,新连接创建的过程中创建channel,而在创建channel的过程中创建了该channel对应的pipeline,创建完pipeline之后,自动给该pipeline添加了两个节点,即ChannelHandlerContext,ChannelHandler…
netty源码分析之揭开reactor线程的面纱(三)
今天,我们要进行的是三部曲中的最后一曲【处理任务队列】,也就是上面图中的紫色部分。 一. 用户自定义普通任务 二. 非当前reactor线程调用channel的各种方法 三. 用户自定义定时任务 但是,万一有的用户在reactor之外执行定时任务呢?虽然这类场景很少见,但是ne…
netty源码分析之揭开reactor线程的面纱(二)
到这里,我们初次阅读源码的时候对reactor的第二个步骤的了解已经足够了。总结一下:netty的reactor线程第二步做的事情为处理IO事件,netty使用数组替换掉jdk原生的HashSet来保证IO事件的高效处理,每个SelectionKey上绑定了netty类Abst…
netty源码分析之揭开reactor线程的面纱(一)
该线程就是executor创建,对应netty的reactor线程实体。executor 默认是ThreadPerTaskExecutor 关于reactor线程的创建和启动就先讲这么多,我们总结一下:netty的reactor线程在添加一个任务的时候被创建,该线程实体为 Fa…
netty源码分析之新连接接入全解析
这里的继承关系有所简化,当前,我们只需要了解这么多。
netty源码分析之服务端启动全解析
我们在新美大消息推送系统sailfish(日均推送消息量50亿),新美大移动端代理优化系统shark(日均吞吐量30亿)中,均选择了netty作为底层网络通信框架。 既然两大如此重要的系统底层都使用到了netty,所以必然要对netty的机制,甚至源码了若指掌,于是,便催生了n…
一次 Netty 代码不健壮导致的大量 CLOSE_WAIT 连接原因分析
CLOSE_WAIT 产生原因, netty 的代码不够健壮,一个 try-catch 包裹的逻辑太多,在 OOM throwable 异常处理时,没能成功注册事件也没有 close 已创建的连接