这个错谁见过?长时间执行出的
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:652)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072)
at GetUserData.getDataFromUrl(GetUserData.java:112)
at GetUserData.main(GetUserData.java:61)
292min
更新数据库操作,执行了292分钟之后出现了这个问题退出,这是什么原因?
代码:
- Java code
public static String getDataFromUrl(String url) throws IOException { String getURL = url; URL getUrl = new URL(getURL); HttpURLConnection connection = (HttpURLConnection) getUrl.openConnection(); connection.connect(); BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"));//出错行at GetUserData.getDataFromUrl(GetUserData.java:112) String lines; String result = ""; while ((lines = reader.readLine()) != null) { result = result + lines; } reader.close(); connection.disconnect(); return result; }
[解决办法]
你的while里应该反过来写。
把常量写在左边才能避免空指针的错误。
当然这貌似和你遇到的问题没什么关系。
但是保持良好的编码规范才好。
[解决办法]
Http连接超时了
[解决办法]
这么长时间的网络连接,服务器端设计肯定有问题,一旦出现网络故障就会全功尽弃