객체 직렬화(Object Serialization)
네트워크로 전송하거나 파일로 저장하기 위해 스트림으로 만드는 과정.(streamatize)
역직렬화 : 스트림의 정보를 통해 객체를 복구한다.
스트림 : 1차원 배열. (파일을 다 보냈다는(끝을 알리는) 신호를 보낸다.)
한 번에 최대로 보낼 수 있는 양(송신버퍼) : 8KB
파일의 끝 : EOF(1A)
※ 프로그래밍 언어 (차원에서)를 통해서 자동화하여 직렬화/역직렬화를 수행한다.
1. 그러므로 자동화를 하기 때문에 서버/클라이언트가 서로 동일한 언어를 사용해야 한다.
2. 서로 어떤 객체를 주고 받는 지 예측할 수 있어야 한다.
자바 : full automation
MFC : half automation
네트워크 소스 분석
BOOL m_bClose : 메세지의 끝인가 아닌가.
CStringList m_msgList : 메세지를 덩어리로 관리한다.
CObject의 기능
객체 검사(assert등), RTTI, 직렬화
CString : 4GB까지 문자열을 저장할 수 있는 객체.
class CSocketFile:public CFile
일반적으로 (파일에서)직렬화를 수행할 때는 CArchive클래스를 이용한다.
직렬화는 파일 클래스 기반이기 때문에 CSocketFile을 이용한다.
CArchive는 Store(Send), Load(Recv)로 구분된다.
※ 전송할 데이터(객체)에 대해서는 프로그래머가 구현해야 한다.
'컴퓨터 공부 > 네트워크 프로그래밍' 카테고리의 다른 글
[6월 8일 1교시] HTTP 1 (0) | 2009.06.08 |
---|---|
[6월 5일 3교시] 중급 소켓 모델 및 MFC Winsock Classes(미완성) (0) | 2009.06.05 |
[6월 4일] 소켓 프로그래밍 이론 (0) | 2009.06.04 |
[6월 2일 2,3교시] 소켓 프로그래밍 이론 (0) | 2009.06.02 |
[6월 2일 1교시] 소켓 프로그래밍 이론 (0) | 2009.06.02 |