Netty server 反向请求

netty写了一个服务,给客户端连接,类似http,但连接是不close掉的。
当连接还在时,server需要反向请求client。

server既是server也是client。

我用下面的方法,client请求server和server返回数据给client的编码解码都是可以的。但当我加上server对client的请求编码时就报错了。

正常代码

serverBootstrap.group(serverBossGroup, serverWorkerGroup).channel(NioServerSocketChannel.class)  
        .childHandler(new ChannelInitializer<NioSocketChannel\>() {  
            protected void initChannel(NioSocketChannel ch) throws Exception {  
                ch.pipeline().addLast(new HttpRequestDecoder());  
  ch.pipeline().addLast(new HttpResponseEncoder());  
  ch.pipeline().addLast("aggregator",new HttpObjectAggregator(512 \* 1024));  
  ch.pipeline().addLast(new SimpleServerHandler());  
  }  
        });

加上这个就报错

ch.pipeline().addLast(new HttpRequestEncoder());

应该是pipeline进入了RequeseEncoder,又接着进入了ResponseEncoder的缘故。

有什么办法可以选择性的调用不同的Encoder吗?

阅读 2.1k
1 个回答
新手上路,请多包涵

你听过服务端请求客户端的吗

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题