title: java.io.StreamCorruptedException: invalid stream header: 75720002
body: <p>i am creating a server-client application where the server sends a pdf file to the all connected clients. The problem is i get this error and i searched for a solution but couldn`t get any. This is the error</p>
  
  <pre><code> java.io.StreamCorruptedException: invalid stream header: 75720002
      at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:782)
      at java.io.ObjectInputStream.&lt;init&gt;(ObjectInputStream.java:279)
      at StudentThread.run(StudentThread.java:102)
  </code></pre>
  
  <p>Here is the server sending code:</p>
  
  <pre><code>public void run()
  {
      try
      {
          String modifiedSentence;
          in = new BufferedReader(new InputStreamReader(this.socket.getInputStream()));
          inFromServer = new BufferedReader(new InputStreamReader(System.in));
          out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(this.socket.getOutputStream())), true);
          //String sentence;
          System.out.println("TeachID. "+id);
          modifiedSentence = in.readLine();
          System.out.println("Student "+id+" says:"+modifiedSentence);
          arrS=modifiedSentence.split(" ");
          out.println("Hello "+arrS[2]+","+id);   
          studName=arrS[2];
          ((DefaultListModel) Teacher.made_list.getModel()).addElement(studName);
  
          while( true )
          {
              modifiedSentence = in.readLine();
              arrS=modifiedSentence.split(" ");
              if(arrS[0].equals("AcceptFile"))
              {
                  try
                  {
                      ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
                      byte[] buffer = (byte[])ois.readObject();
                      String pic="copyServer"+id+".pdf";
                      System.out.println(pic);
                      FileOutputStream fos = new FileOutputStream(pic);
                      fos.write(buffer);  
                      fos.flush();
                      fos.close();
                  }
                  catch(Exception e)
                  {
                      System.out.println("Exception writing");
                  }
  
              }
  
      }
      catch (IOException e)
      {
      }
      finally
      {
          try
          {
              socket.close();
          }
          catch(IOException e)
          {
          }
      }
  }
  public void sendF(String fn,Teacher teach)
  {
      try{
          out.println("AcceptFile,");
          ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream()) ;
          FileInputStream fis = new FileInputStream(fn);
          byte[] buffer = new byte[fis.available()];
          fis.read(buffer);
          //ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream()) ;
          oos.writeObject(buffer);
          oos.flush();
          fis.close();
      }
      catch(Exception e){
          e.printStackTrace();
      }
  }
  public void sendThread(String elem, Teacher teach)
  {
  
      out.println(elem);
      //System.out.println ("Thread id is " + this.id);
      System.out.println(this.socket.getInetAddress());
  }
  </code></pre>
  
  <p>Here is the client receiving code:</p>
  
  <pre><code>public void run() 
  {
      try
      {
  
          out=new PrintWriter(socket.getOutputStream(), true);
          out.println("Hello Server "+name+",");
  
          String modifiedSentence;
          BufferedReader inFromServer = new BufferedReader( new InputStreamReader( socket.getInputStream() ) );
          modifiedSentence = inFromServer.readLine();
          System.out.println( modifiedSentence );
  
          arrT=modifiedSentence.split(",");
          if(arrT[0].equals("Hello "+name))
          {
              studId=Integer.parseInt(arrT[2]);
              System.out.println("My Id="+studId);
          }
  
          while( true )
          {
              modifiedSentence = inFromServer.readLine();
              System.out.println( modifiedSentence );
  
              arrT=modifiedSentence.split(",");
              if(arrT[0].equals("AcceptFile"))
              {
                  ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
                  byte[] buffer = (byte[])ois.readObject();
                  String pic="copyServer"+studId+".gif";
                  System.out.println(pic);
                  FileOutputStream fos = new FileOutputStream(pic);
                  fos.write(buffer);  
                  fos.flush();
                  fos.close();
              }
      }
  }
  catch( Exception e )
      {
          e.printStackTrace();
      }
  }
  </code></pre>