Netty
JLucky123
这个作者很懒,什么都没留下…
展开
-
Netty之架构剖析
Netty 逻辑架构Netty 采用了典型的三层网络架构进行设计和开发,其逻辑架构如下图所示:1.Reactor 通信调度层:由一系列辅助类组成,包括 Reactor 线程 NioEventLoop 及其父类,NioSocketChannel 和 NioServerSocketChannel 等等。该层的职责就是监听网络的读写和连接操作,负责将网络层的数据读到内存缓冲区,然后触发各自网络事件...原创 2020-01-15 12:22:42 · 204 阅读 · 0 评论 -
Netty异步编程之Future和Promise
Netty 源码中大量使用了异步编程,从代码实现角度看就是大量使用了线程池和 Future。并在Java自带Future的基础上,增加了Promise机制。这两者的目的都是使异步编程更加方便使用。在阅读源码之前,我们需要对Future的机制有很清楚的认识。1.Future功能Future最早来自JDK的java.util.concurrent.Future,它用于代表异步操作的结果,相关API...原创 2020-01-14 07:59:22 · 849 阅读 · 0 评论 -
Netty之EventLoop和EventLoopGroup
https://blog.csdn.net/twt936457991/article/details/89854851https://www.cnblogs.com/lovezmc/p/11547912.html原创 2020-01-13 21:55:42 · 447 阅读 · 0 评论 -
Netty之ChannelPipeline和ChannelHandler(2)
ChannelHandler功能说明ChannelHandler类似Servlet的Filter过滤器,负责对I/O事件或者I/O操作进行拦截和处理,它可以选择性的拦截和处理自己感兴趣的事件,也可以透传和终止事件的传递。基于ChannelHandler接口,用户可以方便的进行业务逻辑定制,例如打印日志、统一封装异常信息、性能统计和消息编解码等。ChannelHandler支持注解,目前支持的...原创 2020-01-12 21:37:31 · 182 阅读 · 0 评论 -
Netty之ChannelPipeline和ChannelHandler(1)
https://blog.csdn.net/qq_37598011/article/details/83957860https://www.jianshu.com/p/9aad9c32cc09https://www.jianshu.com/p/9aad9c32cc09原创 2020-01-12 21:35:02 · 226 阅读 · 0 评论 -
Netty之WebSocket解决方案
一直以来,解决服务器有新数据时,立即将数据发送到客户端的方案种类繁多,例如“推送”或Comet。实现Comet有两种方式:长轮询与http流长轮询是短轮询的翻版,短轮询的方式是:页面定时向服务器发送请求,看有没有更新的数据。而长轮询的方式是,页面向服务器发起一个请求,服务器一直保持tcp连接打开,知道有数据可发送。发送完数据后,页面关闭该连接,随即又发起一个新的服务器请求,在这一过程中循环...原创 2020-01-12 08:55:25 · 1519 阅读 · 0 评论 -
TCP粘包/拆包问题之Netty解决方案
TCP以流的方式进行数据传输,上层的应用协议为了对消息进行区分,往往采用如下四种方式:消息长度固定,累计读取到长度总和为定长LEN的报文后,就认为读取到了一个完整的消息;将计数器置位,重新开始读取下一个数据报;将回车换行符作为消息结束符,例如FTP协议,这种方式在文本协议中应用比较广泛;将特殊的分隔符作为消息的结束标志,回车换行符就是一种特殊的结束分隔符;通过在消息头中定义...原创 2020-01-12 08:29:59 · 324 阅读 · 0 评论