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

 亲亲羊to 发布于 2023-01-09 10:08

当我尝试关闭io.netty.channel.Channel TCP/IP客户端连接时,My 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)

有什么东西可以阻止频道关闭吗?我可以用另一种方式强制关闭吗?

谢谢!

1 个回答
  • closeFuture.sync()不是用于关闭Channel而是允许你阻塞直到Channel关闭.要关闭频道,您可以调用Channel.close().

    2023-01-09 10:10 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有