摘要: 什么是粘包、半包 粘包半包场景重现 来做这么一个测试,在Netty客户端发送数据到Netty服务端,代码如下: public void channelActive(ChannelHandlerContext ctx) throws Exception { for (int i = 0; i < 50 阅读全文
posted @ 2022-03-02 23:35 残城碎梦 阅读(202) 评论(1) 推荐(0)
摘要: Netty提供的ByteBuf不同于JDK中NIO的ByteBuffer,ByteBuf是netty中数据传输的容器,是Netty自己实现的,作为NIO ByteBuffer的替代品,提供了更好的API供开发者使用。相较于NIO的ByteBuffer更具有卓越的功能性和灵活性。 ByteBuf的AP 阅读全文
posted @ 2022-03-02 22:58 残城碎梦 阅读(340) 评论(0) 推荐(0)
摘要: ChannelPipeline 提供了ChannelHandler 链的容器,并定义了用于在该链上传播入站和出站事件流的API。ChannelPipeline不是单独存在,它肯定会和Channel、ChannelHandler、ChannelHandlerContext关联在一起。 ChannelH 阅读全文
posted @ 2022-03-02 22:33 残城碎梦 阅读(189) 评论(0) 推荐(0)
摘要: Netty的核心组件的设计都很模块化,如果想要实现一个应用程序,就需要将这些组件组装到一起。Netty通过Bootstrap类,以对一个Netty应用程序进行配置(组装各个组件),并最终使它运行起来。对于客户端程序和服务器程序所使用到的Bootstrap类是不同的,后者需要使用ServerBoots 阅读全文
posted @ 2022-03-02 13:29 残城碎梦 阅读(182) 评论(0) 推荐(0)
摘要: EventLoop、EventLoopGroup概述 由下图所示,NioEventLoop是EventLoop的一个具体实现,EventLoop是EventLoopGroup的一个属性,NioEventLoopGroup是EventLoopGroup的具体实现,都是基于ExecutorService 阅读全文
posted @ 2022-03-02 12:55 残城碎梦 阅读(395) 评论(0) 推荐(1)
摘要: 流的概念和使用 学习Java IO,不得不提到的就是JavaIO流。 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。 IO流的分类 根据处理数据类型的不同分为:字符流和 阅读全文
posted @ 2022-03-02 08:18 残城碎梦 阅读(126) 评论(0) 推荐(0)