我刚开始与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的方法是什么?
你打电话给连接? Netty tutorial (3.5)
我认为连接后你可以获得SimpleChannelHandler (3.5)的所有方法的频道ID
ChannelEvent.getChannel().getId()
对于Netty 4
给定ChannelHandlerContext对象(变量名= ctx)就可以了
ctx.channel().id()