Netty学习过程笔记

1:传入的byteBuf时需要显性的释放,否则会造成缓冲区满,如果使用write/writeAndFlush,就不用释放,因为写入操作隐式的调用了释放

2:在Netty中使用Http协议时,大多时候需要在Server的通道配置ChannelPipeline中加上Http请求消息解码器HttpObjectAggregator,这样就可以把很多消息转换成单一的FullRequest或FullResponse对象,那么为什么一个Http请求会有很多消息,它不是一个整体吗?这是因为在Netty中,一个Http请求可能被分为很多部分,如下图.

而且这些一个请求中的消息,会触发多次Handler的channelRead,可以从下图看到一次请求会产生不确定数目的连接,但是这些连接的channel地址都是一样的,这就说明HttpObjectAggregator将这些消息都聚合到一个channel中

猜你喜欢

转载自blog.csdn.net/qq_36865108/article/details/82844428