【问题标题】:http streaming response unsupported message type: class org.jboss.netty.handler.stream.ChunkedStreamhttp 流响应不支持的消息类型:class org.jboss.netty.handler.stream.ChunkedStream
【发布时间】:2012-04-21 10:46:40
【问题描述】:

我正在尝试编写一个基于 netty 的 http 服务器,它将文本作为输入并返回图像作为输出。该图像是根据输入文本动态生成的。

我将 org.jboss.netty.example.http.file.HttpStaticFileServerHandler 的逻辑复制到我自己的处理程序中,而不是在通道中写入 DefaultFileRegion 作为输出,

final FileRegion region = new DefaultFileRegion(raf.getChannel(), 0, fileLength);
writeFuture = ch.write(region);

我在自己的处理程序中执行以下操作:

InputStream imageIOStream = imageGenerator.generateImage(inputText);
ChannelFuture writeFuture = ch.write(new ChunkedStream(imageIOStream));

但是当我尝试写回客户端时,服务器上出现以下异常。

java.lang.IllegalArgumentException: unsupported message type: class     org.jboss.netty.handler.stream.ChunkedStream
at    org.jboss.netty.channel.socket.nio.SocketSendBufferPool.acquire(SocketSendBufferPool.java:56)
at org.jboss.netty.channel.socket.nio.NioWorker.write0(NioWorker.java:463)
at  org.jboss.netty.channel.socket.nio.NioWorker.writeFromUserCode(NioWorker.java:390)
at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:137)
at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:76)
at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:68)
at org.jboss.netty.channel.Channels.write(Channels.java:611)
at org.jboss.netty.channel.Channels.write(Channels.java:578)
at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:251)

谁能帮帮我。

【问题讨论】:

    标签: http streaming inputstream netty outputstream


    【解决方案1】:

    在您的管道中,您是否设置了以下内容?

    pipeline.addLast("chunkedWriter", new ChunkedWriteHandler());
    

    https://github.com/netty/netty/blob/master/example/src/main/java/io/netty/example/http/file/HttpStaticFileServerPipelineFactory.java

    【讨论】:

    • 酷。您能否将此问题标记为已回答。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-02
    • 2015-05-17
    • 2022-11-11
    • 2016-12-27
    • 2018-08-20
    • 2020-07-27
    • 1970-01-01
    相关资源
    最近更新 更多