목차
저자 머리말 ... 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
닫기