Java Netty 4.0 channel.id()返回负整数?
尝试记录通道ID以进行调试时:Java Netty 4.0 channel.id()返回负整数?,java,tcp,netty,Java,Tcp,Netty,尝试记录通道ID以进行调试时: @Override public void channelActive(ChannelHandlerContext ctx) throws Exception { // TODO: Investigate negative id LOGGER.info("Established Connection with = {}, Channel Id = {}", ctx .channel().remoteAddress(), ct
@Override
public void channelActive(ChannelHandlerContext ctx) throws Exception {
// TODO: Investigate negative id
LOGGER.info("Established Connection with = {}, Channel Id = {}", ctx
.channel().remoteAddress(), ctx.channel().id());
}
我得到以下信息:
2013-06-08 22:12:49,468 [nioEventLoopGroup-2-1] INFO com.zeedoo.mars.server.HandshakeHandler - Established Connection with = /127.0.0.1:59236, Channel Id = -1228118933
我得到的几乎所有其他频道ID都是负数,我只是想知道这是否是一种预期行为?如果是的话,背后的理由是什么
非常感谢 这是故意的。AbstractChannel要么分配一个唯一的负id,要么接受一个用户指定的正唯一id。id范围是分开的,以避免重复冲突。有意与否,不知道,但如果您只需要一个数字,它和另一个数字一样好;)如何为通道分配ID?@littlejedi您调用接受整数ID的构造函数(并非每个具体通道impl都接受)。这是怎么回事,但为什么是另一回事。