Help needed in File transfering and socket problem

From: mimisam (michikotas_at_yahoo.com)
Date: 04/30/04


Date: 30 Apr 2004 03:26:59 -0700

Hi,

I have an application which uses java socket to transfer file within 2
computers. Problem occurs when the network connection is lost during
file transfering(example, cable is loose).
In my client program, it is ok as it will show me an exception of
'Connection reset by peer' and exit the program. However in server
program, it simply stops at the read() line and hang forever. I just
wonder if there is a way for the server to catch any exception, or
detect the lost connection so that it can exit the program
automatically.
Please help! Thanks!!

I have simplified my code, the file transfering parts for client and
server are similar:

***client***
   try{
      Socket socket=new Socket(server,port)
      out = new BufferedOutputStream(socket.getOutputStream());
      fileIn = new BufferedInputStream(new FileInputStream(file));

      int numRead;
      byte[] buffer=new byte[1024];
      //file transfering
      while( (numRead = fileIn.read(buffer)) >=0)
      {
         out.write(buffer, 0, numRead);
      }
   }catch(Exception e){e.printStackTrace();}

***server***
   server = new ServerSocket(port);
   client = null;
   while (true) {
      try{
         client = server.accept();
         in = new BufferedInputStream(client.getInputStream());
         fileout = new BufferedOutputStream(new
FileOutputStream(filedest));
         byte[] buffer = new byte[1024];
         int readMe;
         // program hang in the 'while'loop during transfering,
         // probably the in.read(buffer)
         while( (readMe = in.read(buffer)) >= 0 ){
            fileout.write(buffer, 0, readMe);
         }
      }catch(Exception e){e.printStackTrace();}

   }//end while



Relevant Pages

  • Re: Cant login anymore since an update
    ... The application 'gnome-session' lost its connection to the display:0.0; ... most likely the X server was shut down or you killed/destroyed the application. ...
    (Debian-User)
  • Cant login anymore since an update
    ... The application 'gnome-session' lost its connection to the display:0.0; ... most likely the X server was shut down or you killed/destroyed ...
    (Debian-User)
  • Re: Outlook Express 6 wont send or receive email
    ... You lost me after 'your DNS service may be FUBAR', so I tried openDNS, ... Thunderbird reported that the server refused the connection. ... | Connection to host lost. ...
    (microsoft.public.windows.inetexplorer.ie6_outlookexpress)
  • Re: Need help from an X guru!
    ... most likely the X server was shut down or you killed/destroyed ... The application 'rhn-applet' lost its connection to the display:0.0; ...
    (RedHat)
  • Re: Networking messed up, bad checksum, incorrect length
    ... but it seems as if Netfilter lost the Established state for this connection. ... destination server, so the destination server send DUP ACKs trying to ...
    (Linux-Kernel)