Part 01 네트워크 프로그래밍의 시작
Chapter 01 네트워크 프로그래밍과 소켓의 이해
01-1 네트워크 프로그래밍과 소켓의 이해
01-2 리눅스 기반 파일 조작하기
01-3 윈도우 기반으로 구현하기
01-4 윈도우 기반의 소켓관련 함수와 예제
내용확인 문제
Chapter 02 소켓의 타입과 프로토콜의 설정
02-1 소켓의 프로토콜과 그에 따른 데이터 전송 특성
02-2 윈도우 기반에서 이해 및 확인하기
내용확인 문제
Chapter 03 주소체계와 데이터 정렬
03-1 소켓에 할당되는 IP주소와 PORT번호
03-2 주소정보의 표현
03-3 네트워크 바이트 순서와 인터넷 주소 변환
03-4 인터넷 주소의 초기화와 할당
03-5 윈도우 기반으로 구현하기
내용확인 문제
Chapter 04 TCP 기반 서버/클라이언트 1
04-1 TCP와 UDP에 대한 이해
04-2 TCP기반 서버, 클라이언트 구현
04-3 Iterative 기반의 서버, 클라이언트 구현
04-4 윈도우 기반으로 구현하기
내용확인 문제
Chapter 05 TCP 기반 서버/클라이언트 2
05-1 에코 클라이언트의 완벽 구현!
05-2 TCP의 이론적인 이야기!
05-3 윈도우 기반으로 구현하기
내용확인 문제
Chapter 06 UDP 기반 서버/클라이언트
06-1 UDP에 대한 이해
06-2 UDP 기반 서버/클라이언트의 구현
06-3 UDP의 데이터 송수신 특성과 UDP에서의 connect 함수호출
06-4 윈도우 기반으로 구현하기
내용확인 문제
Chapter 07 소켓의 우아한 연결종료
07-1 TCP 기반의 Half-close
07-2 윈도우 기반으로 구현하기
내용확인 문제
Chapter 08 도메인 이름과 인터넷 주소
08-1 Domain Name System
08-2 IP주소와 도메인 이름 사이의 변환
08-3 윈도우 기반으로 구현하기
내용확인 문제
Chapter 09 소켓의 다양한 옵션
09-1 소켓의 옵션과 입출력 버퍼의 크기
09-2 SO_REUSEADDR
09-3 TCP_NODELAY
09-4 윈도우 기반으로 구현하기
내용확인 문제
Chapter 10 멀티프로세스 기반의 서버구현
10-1 프로세스의 이해와 활용
10-2 프로세스 & 좀비(Zombie) 프로세스
10-3 시그널 핸들링
10-4 멀티태스킹 기반의 다중접속 서버
10-5 TCP의 입출력 루틴(Routine) 분할
내용확인 문제
Chapter 11 프로세스간 통신(Inner Process Communication)
11-1 프로세스간 통신의 기본 개념
11-2 프로세스간 통신의 적용
내용확인 문제
Chapter 12 IO 멀티플렉싱(Multiplexing)
12-1 IO 멀티플렉싱 기반의 서버
12-2 select 함수의 이해와 서버의 구현
12-3 윈도우 기반으로 구현하기
내용확인 문제
Chapter 13 다양한 입출력 함수들
13-1 send & recv 입출력 함수
13-2 readv & writev 입출력 함수
13-3 윈도우 기반으로 구현하기
내용확인 문제
Chapter 14 멀티캐스트 & 브로드캐스트
14-1 멀티캐스트(Multicast)
14-2 브로드캐스트(Broadcast)
14-3 윈도우 기반으로 구현하기
내용확인 문제
Part 02 리눅스 기반 프로그래밍
Chapter 15 소켓과 표준 입출력
15-1 표준 입출력 함수의 장점
15-2 표준 입출력 함수 사용하기
15-3 소켓 기반에서의 표준 입출력 함수 사용
내용확인 문제
Chapter 16 입출력 스트림의 분리에 대한 나머지 이야기
16-1 입력 스트림과 출력 스트림의 분리
16-2 파일 디스크립터의 복사와 Half-close
내용확인 문제
Chapter 17 select보다 나은 epoll
17-1 epoll의 이해와 활용
17-2 레벨 트리거(Level Trigger)와 엣지 트리거(Edge Trigger)
내용확인 문제
Chapter 18 멀티쓰레드 기반의 서버구현
18-1 쓰레드의 이론적 이해
18-2 쓰레드의 생성 및 실행
18-3 쓰레드의 문제점과 임계영역(Critical Section)
18-4 쓰레드 동기화
18-5 쓰레드의 소멸과 멀티쓰레드 기반의 다중접속 서버의 구현
내용확인 문제
Part 03 윈도우 기반 프로그래밍
Chapter 19 Windows에서의 쓰레드 사용
19-1 커널 오브젝트(Kernel Objects)
19-2 윈도우 기반의 쓰레드 생성
19-3 커널 오브젝트의 두 가지 상태
내용확인 문제
Chapter 20 Windows에서의 쓰레드 동기화
20-1 동기화 기법의 분류와 CRITICAL_SECTION 동기화
20-2 커널모드 동기화 기법
20-3 윈도우 기반의 멀티 쓰레드 서버 구현
내용확인 문제
Chapter 21 Asynchronous Notification IO 모델
21-1 비동기(Asynchronous) Notification IO 모델의 이해
21-2 비동기(Asynchronous) Notification IO 모델의 이해와 구현
내용확인 문제
Chapter 22 Overlapped IO 모델
22-1 Overlapped IO 모델의 이해
22-2 Overlapped IO에서의 입출력 완료의 확인
내용확인 문제
Chapter 23 IOCP(Input Output Completion Port)
23-1 Overlapped IO를 기반으로 IOCP 이해하기
23-2 IOCP의 단계적 구현
내용확인 문제
Part 04 네트워크 프로그래밍 마무리하기
Chapter 24 HTTP 서버 제작하기
24-1 HTTP(Hypertext Transfer Protocol)의 개요
24-2 매우 간단한 웹 서버의 구현
내용확인 문제
Chapter 25 앞으로 해야 할 것들
25-1 네트워크 프로그래밍! 얼마나 공부해야 하나요?
25-2 네트워크 프로그래밍 관련 책 소개