`
zyq8557
  • 浏览: 46689 次
  • 性别: 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数据流切块传输》源码 ...

    reactor-netty-http-1.0.11-API文档-中文版.zip

    赠送jar包:reactor-netty-http-1.0.11.jar; 赠送原API文档:reactor-netty-http-1.0.11-javadoc.jar; 赠送源代码:reactor-netty-http-1.0.11-sources.jar; 赠送Maven依赖信息文件:reactor-netty-...

    netty http client & server

    在 "netty-http-server" 文件中,我们可以找到一个使用 Netty 实现的 HTTP 服务器示例,它展示了如何接收和处理 HTTP 请求。而在 "netty-http-client" 文件中,包含了一个简单的 HTTP 客户端示例,演示了如何向...

    用netty实现文件传输

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

    reactor-netty-http-1.0.15-API文档-中文版.zip

    赠送jar包:reactor-netty-http-1.0.15.jar; 赠送原API文档:reactor-netty-http-1.0.15-javadoc.jar; 赠送源代码:reactor-netty-http-1.0.15-sources.jar; 赠送Maven依赖信息文件:reactor-netty-...

    netty http协议开发小例子

    在本文中,我们将深入探讨如何使用 Netty 实现 HTTP 协议的开发,结合提供的“NettyStudyServer”文件,我们来详细了解一下相关知识点。 1. **HTTP 协议基础** - HTTP(超文本传输协议)是互联网上应用最为广泛的...

    NettyDemo Netty使用实例,对象传递调用

    Netty 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。...掌握Netty的使用,将极大地提升我们在分布式系统、游戏服务器、RPC服务等领域的开发能力。

    netty http protobuf

    1. **服务器端**:使用Netty构建一个HTTP服务器,监听特定端口,接收HTTP请求。服务器端会解析HTTP请求,然后将请求体中的Protobuf数据解码为Java对象。 2. **客户端**:Netty的HTTP客户端发送HTTP请求到服务器,...

    netty基于http socket websocke及心跳包机制t的demo

    通过使用Netty的NIO(非阻塞I/O)和EPOLL(在Linux系统上的高效I/O)事件模型,可以构建高并发、低延迟的网络应用。Socket在Netty中通常用于构建自定义的通信协议,或者作为HTTP之外的另一种网络通信方式。 ...

    Android使用Netty网络框架实践(客户端、服务端)

    本实践将详细介绍如何在Android环境中使用Netty进行客户端和服务端的通信。 首先,我们需要理解Netty的基本概念。Netty的核心是其EventLoopGroup(事件循环组),它负责处理I/O事件,并将它们分发到相应的...

    使用netty使用http协议开发文件服务器

    在本示例中,我们将探讨如何使用Netty实现一个基于HTTP协议的文件服务器。 首先,我们需要理解HTTP协议。HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,它规定了客户端(如浏览器)和服务器之间数据...

    Netty4.0 http案例

    总的来说,这个"Netty4.0 http案例"涵盖了如何使用Netty构建高效、可扩展的HTTP服务器和客户端,以及如何处理JSON数据。通过理解这些知识点,你不仅可以实现基本的HTTP通信,还能进一步探索更复杂的网络应用场景。

    NettyAndroid,Netty在Android中的使用

    Netty在Android开发中的应用实战系列(二)——— Encoder | Decoder | Handler 的使用:https://azhon.blog.csdn.net/article/details/100831777 Netty在Android开发中的应用实战系列(三)——— 心跳处理 | 断线...

    spring+netty+mybatis整合实例

    在IT行业中,Spring、Netty和MyBatis是三个非常重要的框架,它们分别在不同的领域发挥着关键作用。Spring是一个全面的Java应用框架,提供强大的依赖注入、AOP(面向切面编程)以及丰富的功能模块;Netty则是一个高...

    使用netty5进行udp网络通讯

    这个小程序使用netty5进行udp网络通讯,客户端有两种,1:用netty5类库发送DatagramPacket和接收 2:直接使用DatagramSocket发送接收DatagramPacket 先运行netty_server的QuoteOfTheMomentServer, 在运行netty_...

    netty关于http和tcp协议整合

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

    android netty使用demo

    总之,"android netty使用demo"提供了一个基础的Android Netty应用实例,展示了如何在Android环境中使用Netty实现长连接通信。然而,实际开发中,还需要考虑更多的细节和优化,以满足复杂的网络应用场景。

    reactor-netty-http-1.0.15-API文档-中英对照版.zip

    赠送jar包:reactor-netty-http-1.0.15.jar; 赠送原API文档:reactor-netty-http-1.0.15-javadoc.jar; 赠送源代码:reactor-netty-http-1.0.15-sources.jar; 赠送Maven依赖信息文件:reactor-netty-...

    netty-http-client:Java中的一个异步http客户端,它使用Netty 4.x,具有基于回调的干净API

    使用Netty 4.x的Java异步HTTP客户端,具有干净的,基于回调的API。 该API受到 http模块的启发; 它旨在(主要)避免使用Future模式,并通过回调来开展业务。 我们尽可能避免引入复杂的抽象,这些抽象试图隐藏HTTP...

    使用netty进行rtsp服务端开发.zip

    在本文中,我们将深入探讨如何使用Netty进行RTSP(Real Time Streaming Protocol)服务端的开发,以及如何处理H264、H265和AAC格式的流媒体文件。 1. RTSP简介: RTSP是一种应用层协议,主要用于控制实时流传输,如...

Global site tag (gtag.js) - Google Analytics