首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
netty系列教程
程序那些事
创建于2021-08-18
订阅专栏
netty系列教程,从小白到大神!
等 86 人订阅
共91篇文章
创建于2021-08-18
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Haproxy太麻烦了,自己用netty写一个吧
我们知道proxy protocol是haproxy提出的一个代理协议,通过这个协议,所有实现这个协议的proxy或者LBS,都可以附带真实客户端的IP地址和端口号,这使得proxy proto
来,手把手教你使用netty搭建一个DNS tcp服务器
在前面的文章中,我们提到了使用netty构建tcp和udp的客户端向已经公布的DNS服务器进行域名请求服务。基本的流程是借助于netty本身的NIO通道,将要查询的信息封装成为DNSMessag
会用redis吗?那还不快来了解下redis protocol
redis是一个非常优秀的软件,它可以用作内存数据库或者缓存。因为他的优秀性能,redis被应用在很多场合中。 redis是一个客户端和服务器端的模式,客户端和服务器端是通过TCP协议进行连接的
在netty中使用tls协议请求DNS服务器
在前面的文章中我们讲过了如何在netty中构造客户端分别使用tcp和udp协议向DNS服务器请求消息。在请求的过程中并没有进行消息的加密,所以这种请求是不安全的。 那么有同学会问了,就是请求解析
netty系列之:在netty中使用UDP协议请求DNS服务器
之前我们讲到了如何在netty中构建client向DNS服务器进行域名解析请求。使用的是最常见的TCP协议,也叫做Do53/TCP。 事实上除了TCP协议之外,DNS服务器还接收UDP协议。这个协议
netty系列之:在netty中使用TCP协议请求DNS服务器
DNS的全称domain name system,既然是一个系统就有客户端和服务器之分。一般情况来说我们并不需要感知这个DNS客户端的存在,因为我们在浏览器访问某个域名的时候,浏览器作为客户端已经实现
netty系列之:epoll传输协议详解
在前面的章节中,我们讲解了kqueue的使用和原理,接下来我们再看一下epoll的使用。两者都是更加高级的IO方式,都需要借助native的方法实现,不同的是Kqueue用在mac系统中,而epol
netty系列之:kequeue传输协议详解
在前面的章节中,我们介绍了在netty中可以使用kequeue或者epoll来实现更为高效的native传输方式。那么kequeue和epoll和NIO传输协议有什么不同呢?
netty系列之:在netty中使用native传输协议
对于IO来说,除了传统的block IO,使用最多的就是NIO了,通常我们在netty程序中最常用到的就是NIO,比如NioEventLoopGroup,NioServerSocketChann
netty系列之:在netty中实现线程和CPU绑定
简介 之前我们介绍了一个非常优秀的细粒度控制JAVA线程的库:java thread affinity。使用这个库你可以将线程绑定到特定的CPU或者CPU核上,通过减少线程在CPU之间的切换,从而提升
netty系列之:HashedWheelTimer一种定时器的高效实现
定时器是一种在实际的应用中非常常见和有效的一种工具,其原理就是把要执行的任务按照执行时间的顺序进行排序,然后在特定的时间进行执行。JAVA提供了java.util.Timer和java.util
netty系列之:我有一个可扩展的Enum你要不要看一下?
很多人都用过java中的枚举,枚举是JAVA 1.5中引用的一个新的类型,用来表示可以列举的范围,但是可能很少有人知道java中的enum到底是怎么工作的,enum和Enum有什么关系?Enum可不可
netty系列之:给ThreadLocal插上梦想的翅膀,详解FastThreadLocal
JDK中的ThreadLocal可以通过get方法来获得跟当前线程绑定的值。而这些值是存储在ThreadLocal.ThreadLocalMap中的。而在ThreadLocalMap中底层的数据存储是
网络协议之:haproxy的Proxy Protocol代理协议
代理大家应该都很熟悉了,比较出名的像是nginx,apache HTTPD,stunnel等。 我们知道代理就是代替客户端向服务器端进行消息请求,并且希望在代理的过程中保留初始的TCP连接信息,例如
netty系列之:可能有人听过ThreadLocal,但一定没人听过ThreadLocal对象池
JDK中的Thread大家肯定用过,只要是用过异步编程的同学肯定都熟悉。为了保存Thread中特有的变量,JDK引入了ThreadLocal类来专门对Thread的本地变量进行管理。
netty系列之:protobuf在UDP协议中的使用
netty中提供的protobuf编码解码器可以让我们直接在netty中传递protobuf对象。同时netty也提供了支持UDP协议的channel叫做NioDatagramChannel。如果直接
netty系列之:netty对marshalling的支持
在之前的文章中我们讲过了,jboss marshalling是一种非常优秀的java对象序列化的方式,它可以兼容JDK自带的序列化,同时也提供了性能和使用上的优化。 那么这么优秀的序列化工具可不可以
netty系列之:使用Jboss Marshalling来序列化java对象
在JAVA程序中经常会用到序列化的场景,除了JDK自身提供的Serializable之外,还有一些第三方的产品可以实现对JAVA对象的序列化。其中比较有名的就是Google protobuf。当然,也
netty系列之:netty中常用的对象编码解码器
我们在程序中除了使用常用的字符串进行数据传递之外,使用最多的还是JAVA对象。在JDK中,对象如果需要在网络中传输,必须实现Serializable接口,表示这个对象是可以被序列化的。这样就可以调用J
网络协议之:sctp流控制传输协议的协议消息包详解
之前我们讲到了SCTP流控制传输协议位于七层网络协议的传输层,和TCP、UDP同级。SCTP是以消息为导向的,所有的SCTP消息包都是为这个目标服务的。
下一页