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)
有人可以幫我。
謝謝!這工作! – 2012-04-10 23:42:15
很酷。你能否把這個問題標記爲答案?謝謝。 – Veebs 2012-04-12 00:10:56