它的作用是将多个消息转换为单一的FullHttpRequest或FullHttpResponse,原因就是Http解码器(HttpRequestDecoder,HttpResponseEncoder)在每个HTTP消息中会生成多个消息对象。
1.HttpRequest/HttpResponse
2.HttpContent
3.LastHttpContent
它的作用是支持异步发送大的码流(例如大的文件传输),但不占用过多的内存,防止发生java内存溢出错误。使用chunked编码,最后需要发送一个编码结束的空消息体,将LastHttpContent的
EMPTY_LAST_CONTENT发送到缓冲区中,标识所有的消息体已经发送完成,同时调用flush方法将之前在发送缓冲区的消息刷新到SocketChannel中发送给对方
header->手写响应报文内容->ByteBuf->content.writeBytes(buffer)->ctx.writeAndFlush(response).addListener(ChannelFutureListener.CLOSE);
文件相关,读写权限
原文:https://www.cnblogs.com/lccsblog/p/10989594.html