使用ClientBootstrap以明确的本地地址连接到LocalChannel
问题描述:
我希望能够在连接到使用DefaultLocalServerChannelFactory创建的LocalChannel服务器时指定显式本地地址,而不是依赖“Ephemeral”。使用ClientBootstrap以明确的本地地址连接到LocalChannel
(原因是我希望能够建立多个连接并让服务器使用远程地址对相关连接进行分组)。
如果我适应所提供的LocalExample类,只是改变:
ChannelFuture channelFuture = cb.connect(socketAddress);
到:
ChannelFuture channelFuture = cb.connect(socketAddress, new LocalAddress("C1"));
的信道异常(已结合的)被抛出,因为信道是由ClientBootstrap第一约束,并然后再通过LocalClientChannelSink,它在连接时始终绑定信道:
bind(channel, succeededFuture(channel), new LocalAddress(LocalAddress.EPHEMERAL));
如果我忽略异常,似乎一切正常,并且通道的端点具有非默认本地地址。
不过,我更愿意找到避免了异常,如果在所有可能的
答
这听起来像一个“错误”的一种方式。你可以在netty的bugtracker中打开一个问题吗?
这固定在3.4.2.Final – 2012-04-29 20:44:23