简体   繁体   中英

connection reset when trying to read inputStream

I want to read a inputstream from a socket into a byteArray , but i get the follow error:

java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(Unknown Source)

I don't udnerstand why because i don 't close my socket until i finish to read the inputStream

try {
            in = connexion.getSocket().getInputStream();
            out = connexion.getSocket().getOutputStream();

            byte[] buffer= new byte[2048] ;          
            ByteArrayOutputStream baos= new ByteArrayOutputStream();
            int read = 0;
            while((read = in.read(buffer)) > 0) // exception thrown here
            {
                baos.write(buffer, 0, read);
            }
            reception = baos.toByteArray();


        } 

        catch (IOException e) {
            e.printStackTrace();
        }
        finally{
            try{
                in.close();
                out.close();
                connexion.getSocket().close();
            }
            catch(IOException ioException){
                ioException.printStackTrace();
            }
        }

Server side:

 public static void main(String[] args) throws Exception {
        ServerSocket s = new ServerSocket(port,2);
        Socket soc ;

        while(true){
        soc = s.accept(); } }

Thank you very much

It seems that the connection has been closed by the server before reading. This could be an issue with the request you are sending or an issue at their end.

已解决我在检索输入流之前设置了一点暂停,现在效果很好谢谢大家

I see that you've already solved this issue, but I recently had a similar situation. What I found that is actually causing this problem is the array's size of you byte array fo reading. I you try to read more data than is the socket the ConnectionReset is trown, try with a size of 1.

Saludos!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM