Netty - 查找频道 ID
Posted
技术标签:
【中文标题】Netty - 查找频道 ID【英文标题】:Netty - Find Channel ID 【发布时间】:2012-07-10 23:38:27 【问题描述】:我刚开始使用 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()。 Channel ID的获取方法是什么?
【问题讨论】:
【参考方案1】:你打过connect吗? Netty tutorial (3.5)
我认为连接后你可以在SimpleChannelHandler (3.5)的所有方法上获取频道ID
ChannelEvent.getChannel().getId()
对于 Netty 4
给定 ChannelHandlerContext 对象(变量名 = ctx)
ctx.channel().id()
【讨论】:
@MouseEvent 已修复,尽管 Netty 的最新稳定版本现在是 4.x 系列。以上是关于Netty - 查找频道 ID的主要内容,如果未能解决你的问题,请参考以下文章