设置readLine()的超时限制?

我有以下代码通过Java中的套接字读取POP服务器的响应。 但问题有时候,当我使用readLine()函数从服务器读取,如果服务器没有回复任何响应,我的应用程序将挂起,等待服务器的响应。

socket.connect(new InetSocketAddress("pop.server.com", 110), 3000); input = socket.getInputStream(); BufferedReader incoming = new BufferedReader(new InputStreamReader(input)); incoming.readLine(); //This line will cause my application to hang if the server does not respond with a reply 

有没有办法设置超时或其他一些方法,当服务器在一段时间后没有回复时,应用程序应该停止等待响应并继续其他执行?

我建议你试试Socket.setSoTime(超时)