我刚开始与Netty合作。我已经有了服务器,我正在为客户端编写代码。
在客户端中,我使用此代码为ClientBootstrap对象设置了一个新的PipelineFactory
bootstrap.setPipelineFactory(new ChannelPipelineFactory()
{
public ChannelPipeline getPipeline()
{
return Channels.pipeline(new ResponseHandler());
}
}
);
其中ResponseHandler()是我的类,它扩展了SimpleChannelHandler。
我正在寻找频道ID。我做了
bootstrap.getPipeline().getChannel().getId();
但它抛出IllelgalStateException并说我不能调用getPipeline(),因为我调用了setPipelineFactory()。获取频道ID的方法是什么?
答案 0 :(得分:1)
我认为连接后您可以使用
获取SimpleChannelHandler (3.5)所有方法的频道IDChannelEvent.getChannel().getId()
对于Netty 4
给定ChannelHandlerContext对象(变量名= ctx),它将是
ctx.channel().id()