gpt4 book ai didi

java - 当我尝试使用 closeFuture() 关闭 io.netty.channel.Channel 时,Netty 应用程序挂起

转载 作者:行者123 更新时间:2023-11-29 07:02:06 28 4
gpt4 key购买 nike

当我尝试关闭 io.netty.channel.Channel TCP/IP 客户端连接时,我的 Netty 应用挂起。

我愿意:

ch.isOpen(); //this is TRUE
ch.closeFuture().sync(); //never returns

线程调用同步的堆栈跟踪在这里。

JavaFX Application Thread@583, prio=5, in group 'main', status: 'WAIT'
at java.lang.Object.wait(Object.java:-1)
at java.lang.Object.wait(Object.java:502)
at io.netty.util.concurrent.DefaultPromise.await(DefaultPromise.java:260)
at io.netty.channel.DefaultChannelPromise.await(DefaultChannelPromise.java:129)
at io.netty.channel.DefaultChannelPromise.await(DefaultChannelPromise.java:28)
at io.netty.util.concurrent.DefaultPromise.sync(DefaultPromise.java:224)
at io.netty.channel.DefaultChannelPromise.sync(DefaultChannelPromise.java:117)
at io.netty.channel.DefaultChannelPromise.sync(DefaultChannelPromise.java:28)
at MyClient.stop(MyClient.java:46)

有什么东西可以防止 channel 关闭吗?我可以用其他方式强制关闭它吗?

最佳答案

closeFuture.sync() 不是用于关闭 Channel 而是允许您阻塞直到 Channel 关闭。要关闭 Channel,您可以调用 Channel.close()。

关于java - 当我尝试使用 closeFuture() 关闭 io.netty.channel.Channel 时,Netty 应用程序挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24237142/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com