从ServerSocket#accept抛出IOException
时会指示什么?
我的意思是:如果我有一个接受连接的循环,它将在这里被阻止:Socket client = serverSocket.accept();
如果我在接受期间使用catch
进行IOException
的操作,这是否意味着我应该关闭服务器套接字,即这很严重,或者例如。记录异常并返回serverSocket.accept()
接受连接,就像什么都没有发生?服务器套接字功能齐全。
最佳答案
您可以通过用尽文件描述符来获取这些信息。如果设置了超时并且超时,则另一种可能性是SocketTimeoutException。另一个是服务器套接字被异步关闭。仅这些中的最后一个必定是致命的。
关于java - 我在接受服务器套接字上的客户端连接时捕获了IOException。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14988685/