netty writeAndFlush https数据报没有得到响应

时间:2017-06-09 04:36:31

标签: java https netty

请参阅包 io.netty.example.proxy 中的netty示例,它既适用于http又适用于https,甚至https消息都是乱码。

我想使用netty来执行从代理服务器获取的https消息。

public static void main(String[] args){
    Bootstrap b;
    EventLoopGroup workerGroup;
    ChannelFuture f;

    workerGroup = new NioEventLoopGroup();
    b = new Bootstrap();
    b.group(workerGroup);
    b.channel(NioSocketChannel.class);
    b.option(ChannelOption.AUTO_READ, false);
    b.handler(new HttpForwardHandler());
    f = b.connect(ip, port);
}

public class HttpForwardHandler extends ChannelInboundHandlerAdapter {
@Override
    public void channelActive(ChannelHandlerContext ctx) {

        String content = ""//datagram got from proxy
        ByteBuf buf = Unpooled.wrappedBuffer(content .getBytes(Charset.defaultCharset()));
        ctx.writeAndFlush(buf )
        .addListener(new ChannelFutureListener() {
            @Override
            public void operationComplete(ChannelFuture future) {
                if (future.isSuccess()) {
                    ctx.read();
                } else {
                    future.channel().close();
                }
            }
        });

    }

    @Override
    public void channelRead(final ChannelHandlerContext ctx, Object msg) {
          //can not get https response here
    }

}

版本:网状-全4.1.9-最终

当我尝试writeAndFlush一条http消息时,它有效,但https消息没有。

1 个答案:

答案 0 :(得分:0)

您应该检查写期货cause()以了解它无效的原因。