`
zyq8557
  • 浏览: 46971 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Netty的http chunked使用

阅读更多

Netty中封装了对Http chunked协议的支持,使用方式如下:

1 write一个response,且设置chunked参数,告知客户端将返回chunked类型数据;

2 开始写chunk数据;

3 按照chunk协议标准返回chunk数据结束标记;

4 关闭channel连接。

 

具体代码如下:

 

HttpRequest req = (HttpRequest) reqObj;

HttpResponse resp = new DefaultHttpResponse(HttpVersion.HTTP_1_1,

HttpResponseStatus.OK);

resp.setChunked(true);

resp.setHeader(HttpHeaders.Names.TRANSFER_ENCODING, HttpHeaders.Values.CHUNKED);

ChannelFuture f = ctx.getChannel().write(resp);

 

String str = "my test chunked data!";

HttpChunk chunk = new DefaultHttpChunk(ChannelBuffers.wrappedBuffer(str.toString().getBytes(CharsetUtil.UTF_8)));

f = ctx.getChannel().write(chunk);

 

HttpChunk chunk = new DefaultHttpChunk(ChannelBuffers.EMPTY_BUFFER);

f = ctx.getChannel().write(chunk);

 

f.addListener(ChannelFutureListener.CLOSE);

 

ps:chunked的数据大小可根据实际情况自己定义。

分享到:
评论

相关推荐

    netty案例,netty4.1中级拓展篇十一《Netty基于ChunkedStream数据流切块传输》源码

    netty案例,netty4.1中级拓展篇十一《Netty基于ChunkedStream数据流切块传输》源码 ...

    用netty实现文件传输

    - 使用 Telnet 或 Netcat 工具模拟客户端连接,验证服务器端是否能正确接收文件。 - 对传输的大文件进行完整性校验,如计算 MD5 或 SHA 哈希值,确保文件传输无误。 7. **安全考虑** - **身份验证**:为了防止...

    netty关于http和tcp协议整合

    此外,还可以使用HttpObjectAggregator来聚合多个HTTPContent片段到单个FullHttpRequest或FullHttpResponse中,以便处理HTTP的Chunked传输。 在实际应用中,我们可能会创建两个独立的ChannelPipeline,一个用于TCP...

    Netty5.0TCP/IP上传大文件

    3. **Chunked Write**: 当需要上传大文件时,Netty提供了`ChunkedWriteHandler`,它允许我们分块发送大文件,而不是一次性加载到内存中。这样可以有效地防止内存溢出,并提高系统的稳定性。 4. **FileRegion**: ...

    netty4-demos.zip

    1. **Chunked Write Handling**:Netty支持大文件的分块传输,避免一次性加载整个文件到内存。它将大文件分割成小块(chunk),然后逐块发送,确保资源的有效利用。 2. **FileRegion**:Netty中的接口,用于表示文件...

    http chunk

    从给定的代码片段来看,主要涉及的是HTTP Chunked Transfer Encoding机制在Netty框架中的实现。下面将详细解析HTTP Chunked编码以及其在Netty框架中的应用。 ### HTTP Chunked Transfer Encoding HTTP Chunked ...

    netty_container:来自http的

    在本文中,我们将深入探讨 Netty 应用于 HTTP 协议处理的相关知识点,以及如何使用 Maven 构建和部署 Netty 容器到生产环境。 一、Netty 框架概述 Netty 是由 JBoss 提供的一个开源框架,它提供了一种灵活的方式来...

Global site tag (gtag.js) - Google Analytics