为了账号安全,请及时绑定邮箱和手机立即绑定

如何中断ServerSocket accept()方法?

如何中断ServerSocket accept()方法?

繁华开满天机 2019-08-31 16:09:30
在我的主线程中,我有一个while(listening)调用accept()我的ServerSocket对象的循环,然后启动一个新的客户端线程,并在接受新客户端时将其添加到Collection。我还有一个Admin线程,我想用它来发出命令,比如'exit',这将导致所有客户端线程被关闭,自行关闭,并通过转向监听来关闭主线程。但是,accept()在while(listening)循环块中调用,并且似乎没有任何方法可以中断它,因此无法再次检查while条件并且程序无法退出!有一个更好的方法吗?或者某种方式来中断阻塞方法?
查看完整描述

3 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

你可以close()从另一个线程调用,然后accept()调用将抛出一个SocketException。


查看完整回答
反对 回复 2019-08-31
  • 3 回答
  • 0 关注
  • 996 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信