设置readLine()的超时限制?

时间:2011-10-29 07:54:07

标签: java sockets pop

我有以下代码通过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

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

1 个答案:

答案 0 :(得分:4)

我建议你试试Socket.setSoTime(timeout)