[置顶] netty实战-netty client连接池设计

概述最近有很多网友在咨询netty client中,netty的channel连接池应该如何设计。这其实是个稍微有些复杂的主题,牵扯到蛮多技术点,要想在网上找不到相关的有相对完整的参考文章,确实不太容易。在本篇文章中,会给出其中一种解决方案,并且附带完整的可运行的代码。如果网友有更好的方案,可以回复本文,我们一起讨论讨论,一起开阔思路和眼界。阅读本文之前需要具备一些基础知识 知道netty的一些基础...
阅读(4891) 评论(1)

[置顶] netty实战-自定义解码器处理半包消息

概述在李林锋的Netty系列之Netty编解码框架分析中介绍了各种解码器,也推荐组合LengthFieldBasedFrameDecoder ByteToMessageDecoder这两个解码器来处理业务消息。但是有时候为了灵活性,会直接选择继承ByteToMessageDecoder来处理业务消息,但是直接继承ByteToMessageDecoder,则需要自己处理半包问题。在李林锋的【netty...
阅读(2848) 评论(11)

<netty权威指南>笔记-分隔符解码器处理半包问题

概述在以回车换行结尾的消息如何处理半包问题 一文中介绍了如何处理以回车换行的消息的半包问题,如果消息用分隔符来切割的,那么如何处理半包问题呢?可以组合使用 DelimiterBasedFrameDecoder StringDecoder 来处理半包问题。netty分隔符解码器服务端代码package nettyguide.encode.delimiter.server;import i...
阅读(1249) 评论(0)

<netty权威指南>笔记-以回车换行结尾的消息如何处理半包问题

概述TCP底层会发生粘包和拆包,这个是TCP的一个特性。为了减少网络数据传输的次数,TCP总是希望让网络数据到达一定量级的时候才将数据发送出去,而不是缓存区一有数据就马上发送数据。TCP底层会根据缓冲区是否被填满了,来决定是否发送数据。但是从业务层面上看,这个是不合理的。因为一份业务数据可能很小,还不足以填满缓冲区,这样底层TCP就不会立刻把这份业务数据发送出去,而是等到好几份业务数据的大小填满缓冲...
阅读(1265) 评论(0)
    个人资料
    • 访问:381296次
    • 积分:3959
    • 等级:
    • 排名:第8806名
    • 原创:119篇
    • 转载:5篇
    • 译文:0篇
    • 评论:183条
    博客专栏