SSISO Community

시소당

객체 직렬화와 Socket 전송

객체  직렬화
객체  직렬화의  이점:
데이터  영속성  확보
(데이터  영속성:  자료를  저장한  이후  재사용  시  프로그램  동작시와  똑같은  구조를  가짐)
데이터  전송시  용이성  제공

import  java.io.File;
import  java.io.Serializable;

public  class  data  implements  Serializable
{
          private  String  szStr;
          protected  int  n;

          private  data()
          {
          }

          public  getString()
          {
                    return  szStr;
          }

          public  getInt()
          {
                    return  n;
          }

          ....        

          //  기본  writeObject
          /*
          private  void  writeObject(  ObjectOutputStream  stream  )  throws  IOException
          {
                    stream.defaultWriteObject();
          }
          */
}


객체  전송
서버측

//  필요한  헤더파일
import  java.io.ObjectInputStream;
import  java.io.ObjectOutputStream;
import  java.net.Socket;

//  객체  선언  및  초기화
private  Socket  Client  =  null;
private  ObjectInputStream  ois;
private  ObjectOutputStream  oos;
  
oos  =  new  ObjectOutputStream(  Client.getOutputStream()  );
oos.flush();
ois  =  new  ObjectInputStream(  Client.getInputStream()  );
      
try
{
          //  입력
          //  입력  받은  값을  캐스팅한다.
          dr  =  (DataRecord)  ois.readObject();
}  catch  (ClassNotFoundException  e)
{
          //  입력  오류시
          e.printStackTrace();
}

System.out.println(  dr.getString()  );
System.out.println(  dr.getInt()  );



클라이언트  측

//  필요한  헤더파일
import  java.io.ObjectInputStream;
import  java.io.ObjectOutputStream;
import  java.net.Socket;

//  객체  선언  및  초기화
private  Socket  Client  =  null;
private  ObjectInputStream  ois;
private  ObjectOutputStream  oos;
  
oos  =  new  ObjectOutputStream(  Server.getOutputStream()  );
oos.flush();
ois  =  new  ObjectInputStream(  Server.getInputStream()  );

dr  =  new  data;
dr.szStr  =  "Socket  전송  테스트";
dr.n  =  1234;

try
{
          oos.writeObject(  dr  );
          oos.flush();
}  catch(  Exception  e  )
{
          e.printStackTrace();
}

출처  :  http://2-up.tistory.com/168

541 view

4.0 stars