IPv4/IPv6를 지원하는 윈도우 네트워크 프로그래밍의 체계적인 학습
네트워크 개론 과목을 이수한 IT 관련 학부생과 IT 전문 학원 수강생을 대상으로 하여 점진적인 방식으로 구성했다. 1부 준비 학습과 2부 기본 학습에서 소켓 프로그래밍 기본을 다지고, 3부 심화 학습을 통해 고급 소켓 프로그래밍 기술을 익힌다. 4부 실전 프로젝트에서는 실용적인 소프트웨어 제작을 통해 배운 내용을 복습하면서 실무에 필요한 응용력을 키울 수 있다. 또한 중고급 주제까지 포함하고 있어 개인 학습자나 현업 개발자에게도 도움이 될 것이다.
준비, 기본, 심화, 실전 프로젝트 형태로 구성되어 있다. 1부 준비 학습과 2부 기본 학습에서는 소켓 프로그래밍의 기본을 다지고, 3부 심화 학습을 통해 고급 소켓 프로그래밍 기술을 익힐 수 있다. 4부 실전 프로젝트에서는 실용적인 소프트웨어 제작을 통해 1~3부에 걸쳐 배운 내용을 복습하면서 실무에 필요한 응용력을 키울 수 있다.
1부. 준비 학습(1-3장)
네트워크 프로그래밍에 필요한 이론과 개념을 다루고, 윈도우 소켓 프로그래밍의 특징과 장단점을 소개한다. 또한 소켓 프로그래밍을 본격적으로 시작하기 위한 필수 함수와 자료 구조를 단계적으로 익힌다.
2부. 기본 학습(4-9장)
TCP와 UDP 서버-클라이언트를 중심으로 소켓 응용 프로그램의 기본 구조와 핵심 함수 사용법을 학습한다. 코드는 IPv4를 기본으로 작성하되 IPv6를 지원하는 방법도 소개한다. 또한 실용적인 서버-클라이언트 구현에 필요한 다양한 데이터 전송 방법과 동시 작업 처리 기법, 소켓 옵션을 이용한 세부 제어, GUI 소켓 응용 프로그램 제작 방법을 다룬다.
3부. 심화 학습(10-13장)
기본 학습에서 구현한 서버의 효율성을 개선하여 시스템 자원을 적게 사용하면서도 다수의 클라이언트를 효율적으로 처리할 수 있게 해주는 다양한 소켓 입출력 모델을 학습한다. 그 밖의 주제로는 Raw 소켓을 이용한 저수준 네트워크 프로그래밍, 직렬 통신과 IrDA, 블루투스 프로그래밍을 다룬다.
4부. 실전 프로젝트(14장)
실전 응용 프로그램을 제작하는 과정을 통해 소켓 함수와 서버 작성 모델을 종합적으로 정리한다. IPv4와 IPv6를 동시에 지원하는 서버와 클라이언트를 각각 콘솔과 GUI 응용 프로그램 형식으로 제작한다.