API MFC
리턴 값이 파일 핸들 : CFile CArchive (파일 객체 주소)
파일 CreateFile()--> Open
WriteFile() Write WriteObject << 연산자 오버로딩
ReadFile() Read ReadObject >>
CloseFile() Close
네트웤에서도 직렬화를 하자....
파일 ---> 읽어오기
<---- 저장하기
CAsyncSocket
소켓 ----> 읽어오기(리시브) --> Receive
<---- 저장하기(샌드) --> Send
CArchive-- CSocketFile- CSocket 찌릿 찌릿 CSocket -- CSocketFile---CArchive
하나의 CSocketFile 객체에 대해서 CArchive 객체 두개 만들어 둔다.
하나의 CArchive 객체는 CArchive::store <-------- <<연산자로 데이터 송신 하고
또다른 CArchive 객체는 CArchive::load 로 생성하면 <--- >> 연산자로 데이터 수신 받음
소켓을 파일 장치화 하여 CArchive 객체를 통해서 >>, << 연산자를 이용해서 데이터를 읽고 쓰기
유닉스에서 파일개념에서 소켓이 나옴
CAsyncSocket의 파생클래스로 CSocket이 있음
CSocket은 직렬화 개념을 추가함
직렬화를 위한 CAchive 객체를 생성할 때 생성자에 파일 객체를 전달인자로 주어야 하는데
CSocket에는 CSocketFile이 지원된다...
CSocketFile의 아버지가 CFile로서 기본적인 저장, 로드 함수를 사용할 수 있다.
CSocketFile을 CAchive 객체에 생성자에 넣어주면
CAchive 객체의 >>, << 가 가능하다. 이 연산자를 통해서 소켓 파일에 저장 로드되고 이를 통해 소켓에 데이터를 송수신하게 된다....