这两天项目在测试环境下通过URLConnection 做数据传递时,出现了如下错误 java.net.SocketTimeoutException: Read timed out 经过查找研究,原因是: 客户端没有在限定的时间内将数据发送给服务器,服务器为了保证服务性能,认定那个连接已经失效,所以出现上述异常。 由此得出解决方案为: 增大客户端的超时时间。 如
//设置超时时间 int timeOut = 30000; System.setProperty("sun.net.client.defaultConnectTimeout", String .valueOf(timeOut));// (单位:毫秒) System.setProperty("sun.net.client.defaultReadTimeout", String .valueOf(timeOut)); // (单位:毫秒) socket.setSoTimeout(timeOut);//设置超时时间