저자 머리말 ... 4 필드 어드바이저 머리말 ... 5 워밍업 ... 6 강의 계획표 ... 8 숲과 나무 이야기 ... 10 본문 속 예제 소스와 강의 보조 자료 ... 12 Part 01 준비학습 : 소켓 프로그래밍 입문 Chapter 01 네트워크와 소켓 프로그래밍 ... 23 01_ TCP/IP 개요 ... 24 TCP/IP 프로토콜 구조 ... 24 패킷 전송 원리 ... 28 IP 주소, 포트 번호 ... 30 클라이언트/서버 모델 ... 32 02_ 소켓의 개념 ... 33 데이터 타입 ... 33 통신 종단점 ... 34 네트워크 프로그래밍 인터페이스 ... 34 03_ 윈도우 소켓 ... 36 특징 ... 36 구조 ... 37 윈속 애플리케이션 맛보기 ... 38 요약 ... 46 연습 문제 ... 47 Chapter 02 윈도우 소켓 시작하기 ... 49 01_ 오류 처리 ... 50 02_ 윈속 초기화와 종료 ... 54 03_ 소켓 생성과 닫기 ... 58 소켓 생성 ... 58 소켓 닫기 ... 61 요약 ... 63 연습 문제 ... 64 Cpahter 03 소켓 주소 구조체 다루기 ... 65 01_ 소켓 주소 구조체 정의 ... 66 02_ 바이트 정렬 함수 ... 70 03_ IP 주소 변환 함수 ... 75 04_ 도메인 이름 시스템과 이름 변환 함수 ... 79 요약 ... 85 연습 문제 ... 86 Part 02 기본 학습 : 소켓 프로그래밍 기본 Chapter 04 TCP 서버/클라이언트 ... 89 01_ TCP 서버/클라이언트 구조 ... 90 동작 원리 ... 92 〔실습〕 간단한 TCP 서버/클라이언트 ... 93 02_ TCP 서버/클라이언트 분석 ... 105 서버 함수 ... 106 클라이언트 함수 ... 113 데이터 전송 함수 ... 114 03_ 애플리케이션 프로토콜과 메시지 설계 ... 122 애플리케이션 프로토콜 ... 122 메시지 설계 ... 124 〔실습〕 파일 전송 프로그램 ... 128 요약 ... 139 연습 문제 ... 140 Chapter 05 멀티스레드 ... 141 01_ 멀티스레드 기초 ... 142 기본 개념 ... 144 스레드 생성과 종료 ... 147 스레드 조작 함수 ... 156 02_ 멀티스레드 TCP 서버 ... 166 03_ 스레드 동기화 ... 174 기본 개념 ... 175 임계 영역 ... 176 이벤트 ... 182 요약 ... 189 연습 문제 ... 190 Chapter 06 UDP 서버/클라이언트 ... 191 01_ UDP 서버/클라이언트 구조 ... 192 동작 원리 ... 193 〔실습〕 간단한 UDP 서버/클라이언트 ... 194 02_ UDP 서버/클라이언트 분석 ... 205 데이터 전송 함수 ... 206 코드 분석 ... 210 03_ 브로드캐스팅 ... 217 동작 원리 ... 218 〔실습〕 브로드캐스팅 예제 ... 219 요약 ... 229 연습 문제 ... 230 Chapter 07 소켓 옵션 ... 231 01_ 개요 ... 232 02_ SOL_SOCKET ... 236 SO_BROADCAST ... 236 SO_DONTROUTE ... 236 SO_KEEPALIVE ... 238 SO_LINGER ... 239 SO_SNDBUF, SO_RCVBUF ... 242 SO_SNDTIMEO, SO_RCVTIMEO ... 243 SO_REUSEADDR ... 244 03_ IPPROTO_IP ... 251 멀티캐스팅 개념 ... 251 〔실습〕 멀티캐스팅 예제 ... 253 코드 분석 ... 260 04_ IPPROTO_TCP ... 264 요약 ... 267 연습 문제 ... 268 Chapter 08 GUI 소켓 애플리케이션 ... 269 01_ 윈도우 GUI 애플리케이션 ... 270 구조와 동작 원리 ... 270 〔실습〕 윈도우 GUI 애플리케이션 작성 ... 276 코드 분석 ... 281 02_ 윈도우 기반 소켓 애플리케이션 ... 285 구조와 동작 원리 ... 285 〔실습〕 윈도우 기반 소켓 애플리케이션 작성 ... 286 코드 분석 ... 295 03_ 대화상자 기반 애플리케이션 ... 299 구조와 동작 원리 ... 300 〔실습〕 대화상자 기반 애플리케이션 작성 ... 302 코드 분석 ... 307 04_ 대화상자 기반 소켓 애플리케이션 ... 310 구조와 동작 원리 ... 310 〔실습〕 대화상자 기반 소켓 애플리케이션 작성 ... 311 코드 분석 ... 320 요약 ... 326 연습 문제 ... 327 현장의 목소리 : 내일을 대비하는 확실한 방법, 문서화 ... 328 Part 03 심화 학습 : 소켓 프로그래밍 고급 Chapter 09 소켓 입출력 모델(Ⅰ) ... 333 01_ 개요 ... 334 소켓 모드 ... 334 서버 작성 모델 ... 340 이상적인 소켓 입출력 모델 ... 341 소켓 입출력 모델의 종류 ... 342 02_ Select 모델 ... 343 동작 원리 ... 343 〔실습〕 Select 모델을 이용한 TCP 서버 ... 346 코드 분석 ... 354 03_ WSAAsyncSelect 모델 ... 361 동작 원리 ... 361 〔실습〕 WSAAsyncSelect 모델을 이용한 TCP 서버 ... 364 코드 분석 ... 374 04_ WSAEventSelect 모델 ... 384 동작 원리 ... 384 〔실습〕 WSAEventSelect 모델을 이용한 TCP 서버 ... 391 코드 분석 ... 400 요약 ... 409 연습 문제 ... 410 Chapter 10 소켓 입출력 모델(Ⅱ) ... 411 01_ Overlapped 모델(Ⅰ) ... 412 동작 원리 ... 412 〔실습〕 Overlapped 모델(Ⅰ)을 이용한 TCP 서버 ... 419 코드 분석 ... 420 02_ Overlapped 모델(Ⅱ) ... 430 동작 원리 ... 430 〔실습〕 Overlapped 모델(Ⅱ)를 이용한 TCP 서버 ... 434 코드 분석 ... 435 03_ Completion Port 모델 ... 443 동작 원리 ... 443 〔실습〕 Completion Port 모델을 이용한 TCP 서버 ... 448 코드 분석 ... 449 04_ 소켓 입출력 모델 요약 ... 457 요약 ... 459 연습 문제 ... 460 Chapter 11 Raw 소켓 ... 461 01_ 개요 ... 462 Raw 소켓 생성 ... 463 Raw 소켓 입출력 ... 465 02_ Ping ... 468 동작 원리 ... 468 〔실습〕 Ping 애플리케이션 ... 471 코드 분석 ... 427 03_ Traceroute ... 479 동작 원리 ... 479 〔실습〕 Traceroute 애플리케이션 ... 481 코드 분석 ... 481 04_ ICMP.DLL ... 489 관련 함수 ... 489 〔실습〕 ICMP.DLL로 구현한 Ping 애플리케이션 ... 492 요약 ... 497 연습 문제 ... 498 Cpahter 12 직렬 통신과 무선 프로토콜 ... 499 01_ 직렬 통신 ... 500 개요 ... 500 직렬 통신 함수 ... 503 〔실습〕 직렬 통신 ... 512 02_ IrDA ... 518 개요 ... 518 IrDA 소켓 프로그래밍 ... 519 〔실습〕 IrDA 통신 ... 524 03_ 블루투스 ... 534 개요 ... 534 블루투스 프로그래밍 ... 536 요약 ... 538 연습 문제 ... 539 Part 04 실전 프로젝트 : 멀티 데이터 전송 GUI 소켓 애플리케이션 제작 Cpahter 13 멀티 데이터 전송 GUI 소켓 애플리케이션 제작 ... 543 01_ 프로젝트 개요 ... 544 구조 ... 544 기능 ... 545 02_ 애플리케이션 제작 ... 547 03_ 코드 분석 ... 552 헤더 파일, 함수 원형, 전역 변수 선언 ... 552 메인 함수 ... 554 대화상자 프로시저 ... 555 서버 스레드 ... 559 클라이언트 스레드 ... 562 데이터 전송 함수 ... 564 자식 윈도우 프로시저 ... 566 유틸리티 함수 ... 570 요약 ... 572 현장의 목소리 : 경험으로 체득하는 산 지식 ... 574 추천도서 ... 576 찾아보기 ... 578