2008. 7. 24. 11:39

ObjectInputStream Vs. DataInputStream

//-----------------------------------------------------
Server.java

try {
  socket = serverSocket.accept();

  //oos = new ObjectOutputStream(socket.getOutputStream());
  //ois = new ObjectInputStream (socket.getInputStream());

 } catch (IOException e) {
   System.err.println("IOException이 발생했습니다.");
 }

//-----------------------------------------------------
Client.java

public void init(){
  if(socket == null){
    try{       
      socket = new Socket(host, port);        
      //ObjectInput/OutputStream은 서버에서 ObjectInput/OutputStream을 생성하지 않으면 생성되지 않는다.
      //서버에서도 생성해야지 정상적으로 생성된다. (1)
      ois = new ObjectInputStream(socket.getInputStream());        
      oos = new ObjectOutputStream(socket.getOutputStream());  

     //DataInput/OutputStream은 서버에서 DataInput/OutputStream을 생성하지 않아도 정상적으로 생성된다.(2)
      dis = new DataInputStream(socket.getInputStream());        
      dos = new DataOutputStream(socket.getOutputStream());            
    }
    catch(IOException ioe){
      ioe.printStackTrace();
      stop();
    }
  }


ObjectInput/OutputStream과 DataInput/OutputStream은 무엇이 다를까?