【发布时间】:2012-04-23 17:32:36
【问题描述】:
我有一个使用 netty 开发的服务器和客户端。在客户端使用同一通道写入几条消息后,我尝试关闭套接字(释放资源)。我已经按照指示@http://netty.io/docs/unstable/guide/html/#start.12
完成上述步骤后,客户端仍然没有关闭。
哪位netty专家可以在这里帮助我。
问候 T
【问题讨论】:
我有一个使用 netty 开发的服务器和客户端。在客户端使用同一通道写入几条消息后,我尝试关闭套接字(释放资源)。我已经按照指示@http://netty.io/docs/unstable/guide/html/#start.12
完成上述步骤后,客户端仍然没有关闭。
哪位netty专家可以在这里帮助我。
问候 T
【问题讨论】:
该代码似乎缺少实际关闭通道的调用。我相信你真的想在第 14 行之前打电话给Channel.close()。
【讨论】:
我在我的代码中这样做:
public class TimeClient {
public static void main(String[] args) throws Exception {
...
ChannelFactory factory = ...;
ClientBootstrap bootstrap = ...;
...
ChannelFuture future(29) = bootstrap.connect(...);
future.awaitUninterruptibly();(30)
if (!future.isSuccess()) {
future.getCause().printStackTrace();(31)
}
... YOUR BUSINESS LOGIC HERE
future.getChannel().close().awaitUninterruptibly();(32)
factory.releaseExternalResources();(33)
}
}
【讨论】: