www.pudn.com > jnp-src.rar > MessageInputStream.java


/*
 * Java Network Programming, Second Edition
 * Merlin Hughes, Michael Shoffner, Derek Hamner
 * Manning Publications Company; ISBN 188477749X
 *
 * http://nitric.com/jnp/
 *
 * Copyright (c) 1997-1999 Merlin Hughes, Michael Shoffner, Derek Hamner;
 * all rights reserved; see license.txt for details.
 */

import java.io.*; 
 
public class MessageInputStream extends MessageInput { 
  protected InputStream rawIn; 
  protected DataInputStream dataIn; 
   
  public MessageInputStream (InputStream in) { 
    super (new ByteArrayInputStream (new byte[0])); 
    rawIn = in; 
    dataIn = new DataInputStream (rawIn); 
  } 
 
  public void receive () throws IOException { 
    synchronized (rawIn) { 
      int length = dataIn.readInt (); 
      byte[] buffer = new byte[length]; 
      dataIn.readFully (buffer); 
      in = new ByteArrayInputStream (buffer); 
    } 
  } 
}