Why I get java.net.SocketException: Connection reset

16,160

This error indicates that the remote side has closed the connection while your side was still trying to read from it. You should check if

  • there is a problem on the server (check it's logs) or
  • you are trying to read more data than the server supplies
Share:
16,160
Jammy
Author by

Jammy

Updated on June 04, 2022

Comments

  • Jammy
    Jammy almost 2 years

    I need sent some requests to server side and get reponse, sometimes when I call specific method to run the flollowing common code, I get one error in line(addToCookieJar(connection);), any idea how this get happened?

        URL url = new URL(providerURL);
        HttpURLConnection connection = (HttpURLConnection)url.openConnection();
        connection.setRequestMethod("POST");
        connection.setDoInput(true);
        connection.setDoOutput(true);
        connection.setUseCaches(false);
        connection.setRequestProperty("Content-Type", "application/octet-stream");
    
        // We understand gzip encoding
        connection.addRequestProperty("Accept-Encoding", "gzip");
    
        if (cookie != null && cookieHandler != null) {
            connection.setRequestProperty("Cookie", cookie);
        }
    
        if (cookieHandler == null) {
            addFromCookieJar(connection);
        }
    
        // Send the request
        ObjectOutputStream oos = new ObjectOutputStream(connection.getOutputStream());
        oos.writeObject(remote.getName());
        oos.writeObject(m.getName()); // method name
        oos.writeObject(m.getParameterTypes()); // formal parameters
        oos.writeObject(args); // actual parameters
        oos.flush();
        oos.close();
    
        if (cookieHandler == null) {
            cookieJar.put(new URI(providerURL), connection.getHeaderFields());
        }
    

    Exception:

       java.lang.reflect.UndeclaredThrowableException
                at $Proxy0.updateDocument(Unknown Source)
                at com.agst.ui.gantt.GanttPanel.doUpdateDocument(GanttPanel.java:1931)
                at com.agst.ui.gantt.GanttPanel.save(GanttPanel.java:1419)
                at com.agst.ui.gantt.GanttPanel$4.run(GanttPanel.java:1673)
                at java.lang.Thread.run(Unknown Source)
    
       Caused by: java.net.SocketException: Connection reset
                at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
                at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
                at java.lang.reflect.Constructor.newInstance(Unknown Source)
                at sun.net.www.protocol.http.HttpURLConnection$6.run(Unknown Source)
                at java.security.AccessController.doPrivileged(Native Method)
                at sun.net.www.protocol.http.HttpURLConnection.getChainedException(Unknown Source)
                at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
                at com.agst.rmi.RemoteCallHandler.call(RemoteCallHandler.java:196)
                at com.agst.rmi.RemoteCallHandler.invoke(RemoteCallHandler.java:142)
                ... 5 more
    
       Caused by: java.net.SocketException: Connection reset
                at java.net.SocketInputStream.read(Unknown Source)
                at java.io.BufferedInputStream.fill(Unknown Source)
                at java.io.BufferedInputStream.read1(Unknown Source)
                at java.io.BufferedInputStream.read(Unknown Source)
                at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
                at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
                at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
                at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
                at sun.net.www.protocol.http.HttpURLConnection.getHeaderFields(Unknown Source)
                at com.agst.rmi.RemoteCallHandler.addToCookieJar(RemoteCallHandler.java:529)
                at com.agst.rmi.RemoteCallHandler.call(RemoteCallHandler.java:192)
                ... 6 more