목차 일부
저자 머리말 ... 4
필드 어드바이저 머리말 ... 5
워밍업 ... 6
강의 계획표 ... 8
숲과 나무 이야기 ... 10
본문 속 예제 소스와 강의 보조 자료 ... 12
Part 01 준비학습 : 소켓 프로그래밍 입문
Chapter 01 네트워크와 소켓 프로그래밍 ... 23
01_ TCP/IP 개요 ... 24
TC...
더보기
목차 전체
저자 머리말 ... 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
더보기 닫기