책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 네트워크 프로그래밍
· ISBN : 9788956743950
· 쪽수 : 555쪽
책 소개
목차
Chapter 01 TCP/IP와 소켓
Section 1 TCP/IP와 OSI 7계층
프로토콜과 OSI 7계층
TCP/IP와 OSI 7계층
계층별 헤더
Section 2 소켓과 윈도우 소켓
소켓
소켓 객체와 소켓 핸들
윈도우 소켓
Section 3 첫 번째 소켓 어플리케이션
프로젝트 생성
윈도우 소켓 헤더
윈도우 소켓 초기화와 해제
윈도우 소켓 라이브러리 링크
Section 4 주소 변환
소켓이 사용하는 주소 구조체
주소 변환 함수
주소 변환 예제
Section 5 바이트 정렬
정수의 메모리 포맷
바이트 변환 함수
바이트 변환이 필요한 또 하나의 경우
*** 핵심 포인트
Chapter 02 TCP 클라이언트/서버
Section 1 클라이언트 서버 모델
Section 2 TCP 서버 모델
socket
bind
listen
accept
send
recv
closesocket
Section 3 시간 서버로 구현한 TCP 서버
순차 서버와 병렬 서버
Section 4 TCP 클라이언트 모델
connect
시간 클라이언트 프로젝트
Section 5 TCP 소켓의 상태 변화
TCP three-way handshake
TCP four-way handshake
소켓의 상태 변화
클라이언트의 "TIME_WAIT"는 정상이지만 서버의 "TIME_WAIT"는 에러
클라이언트의 "TIME_WAIT"는 제거
*** 핵심 포인트
Chapter 03 UDP 클라이언트/서버
Section 1 UDP 클라이언트 서버 모델
UDP는 메시지 기반 프로토콜이다
UDP 클라이언트 서버 모델
recvfrom
sendto
Section 2 UDP 클라이언트 서버로 구현한 에코(echo) 클라이언트 서버
UDP로 구현한 에코(echo) 서버
UDP로 구현한 에코(echo) 클라이언트
Section 3 멀티캐스트
유니캐스트, 브로드캐스트, 멀티캐스트
멀티캐스트
멀티캐스트 그룹 가입과 탈퇴
*** 핵심 포인트
Chapter 04 윈도우즈 어플리케이션
Section 1 GUI 윈도우즈 어플리케이션 구조
윈도우즈의 특징
윈도우즈 어플리케이션의 시작
WinMain 기본형
메시지 처리 프로시저
메인 윈도우가 처리하는 기본 메시지 WM_DESTROY
메시지 처리와 그리기
무효화 영역과 WM_PAINT
Section 2 MFC 어플리케이션 구조
MFC 프로젝트쪾169 / MFC 프레임워크
MFC 클래스 상속과 메시지와 가상 함수
핸들과 MFC 클래스
Section 3 MFC 대화상자 기반 프로그램
MFC 대화상자 프로젝트
*** 핵심 포인트
Chapter 05 스레드와 구조화된 예외 처리
Section 1 프로세스와 스레드
윈도우즈 프로세스
스레드
Section 2 스레드 생성
스레드 생성
스레드 예제
스레드 중지와 실행
Section 3 스레드 종료
스레드 종료 상황
스레드 시작 함수가 리턴하여 종료되는 경우
스레드 내에서 ExitThread 함수를 호출하여 스스로 종료하는 경우
다른 스레드에서 TerminateThread 함수를 호출하여 종료시키는 경우
프라이머리 스레드가 종료하여 다른 스레드가 강제 종료되는 경우
Section 4 구조화된 예외 처리와 스레드
구조적 예외 처리
구조적 예외 처리를 이용한 스레드 설계
구조적 종료 처리
구조적 예외 처리와 종료 처리를 이용한 스레드 기본 구조
Section 5 워커 스레드와 UI 스레드
워커 스레드(worker thread)
UI 스레드(User Interface thread)
Section 6 MFC의 스레드 구조
MFC의 워커 스레드 구조
MFC에서 UI 스레드 생성
MFC의 UI 스레드 구조
*** 핵심 포인트
Chapter 06 스레드 동기화와 스케줄링
Section 1 TLS
스레드와 함수 사이의 변수 사용 관계
TLS(Thread Local Storage)
Win32 TLS
Win32 TLS를 위한 예제
컴파일러 지원 TLS
MFC TLS
TLS와 ANSI C 런타임 라이브러리
Section 2 스레드 동기화
동기화는 왜 필요한가?
Interlocked- 동기화
잊지 말자! volatile
다시 설계한 "InvertImage"
크리티컬 섹션
Section 3 커널 객체를 이용한 동기화
신호와 비신호
이벤트
뮤텍스
세마포어
동기화 객체의 선택
Section 4 MFC 동기화 객체
CSyncObject
CCriticalSection
CSemaphore
CMutex
CEvent
CSingleLock
CMultiLock
Section 5 스레드 스케줄링
윈도우즈 스케줄러
스레드 우선순위
퀀텀(quantum)
스레드 상태쪾
실행 우선순위의 변화
*** 핵심 포인트
Chapter 07 윈도우 소켓 모델
Section 1 소켓 모드와 모델
소켓 모드
소켓 모델
Section 2 select 모델
select 모델이란?
select 모델로 구현한 에코 서버
TCP 에코 클라이언트
*** 핵심 포인트
Chapter 08 WSAAsyncSelect 모델과 MFC
Section 1 WSAAsyncSelect 모델
WSAAsyncSelect 모델이란?
WSAAsyncSelect 모델을 이용한 채팅 서버
WSAAsyncSelect 모델을 이용한 채팅 클라이언트
Section 2 MFC와 WSAAsyncSelect 모델
MFC의 소켓 초기화
CAsyncSocket
CSocket쪾430 / 직렬화 소켓
CSocket을 이용한 채팅 클라이언트
*** 핵심 포인트
Chapter 09 WSAEventSelect와 Overlapped 모델
Section 1 WSAEventSelect 모델
WSAEventSelect 모델이란?
WSAEventSelect 모델을 이용한 채팅 서버
Section 2 Overlapped 모델
Overlapped 모델과 접속 처리
Overlapped 모델 입출력 함수
Overlapped 모델을 이용한 채팅 서버
*** 핵심 포인트
Chapter 10 완료 루틴과 IOCP 모델
Section 1 완료 루틴 모델
완료 루틴 모델이란?
완료 루틴 모델을 이용한 채팅 서버
Section 2 IOCP 모델
IOCP 모델이란?
IOCP 모델을 이용한 채팅 서버
Section 3 중요한 소켓 옵션
TCP_NODELAY
SO_KEEPALIVE
SIO_KEEPALIVE_VALS
SO_CONNECT_TIME
SO_REUSEADDR
SO_SNDBUF, SO_RCVBUF
*** 핵심 포인트