在从 socket.accept() 捕获 IOException 并关闭执行接受的线程时不转储卡住的跟踪是很愚蠢的......解决了这个问题后,我仍然想了解如何处理这个调用时的情况巴夫斯。
我的应用程序是一个经典的套接字服务器,可以接受数百个客户端,有时甚至是数千个。接受线程始终处于启动状态并在 accept() 调用中被阻止。一旦被接受,就会启动单独的线程来做这些事情等等。没什么特别的。
问题是,accept() 失败时应该怎么办?这是否应该立即被视为永久性故障?我是否应该重新尝试进入 accept() 一段时间并尝试通过?最佳做法是什么?通常抛出 IOException 的原因是什么?