2012-04-08 73 views
0

我试图写这需要文本作为输入,并返回一个图像作为输出一个网状基于HTTP服务器。该图像基于输入文本即时生成。HTTP流传输响应不受支持消息类型:类org.jboss.netty.handler.stream.ChunkedStream

我复制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) 

有人可以帮我。

回答

相关问题