책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 윈도우 프로그래밍
· ISBN : 9788979148398
· 쪽수 : 604쪽
책 소개
목차
Part 01 준비 학습:소켓 프로그래밍 입문
Chapter 01 네트워크와 소켓 프로그래밍
01 TCP/IP 프로토콜 개요 o 24
01 TCP/IP 프로토콜 구조 o 24
02 데이터 전송 원리 o 28
03 IP 주소, 포트 번호 o 29
04 클라이언트-서버 모델 o 32
02 소켓의 개념 o 30
01 데이터 타입 o 34
02 통신 종단점 o 36
03 네트워크 프로그래밍 인터페이스 o 36
03 윈도우 소켓(윈속) o 37
01 윈도유 소켓 특징 o 37
02 윈도우 소켓 구조 o 38
03 윈도우 소켓 프로그램 맛보기 o 39
실습 1-1 첫 번째 윈도우 소켓 프로그램과 테스트 o 39
요약 o 45
연습문제 o 46
Chapter 02 윈도우 소켓 시작하기
01 오류 처리 o 48
02 윈속 초기화와 종료 o 52
실습 2-1 윈속 초기화와 종료하기 o 54
03 소켓 생성과 닫기 o 55
01 소켓 생성하기 o 55
02 소켓 닫기 o 58
실습 2-2 소켓 생성과 닫기 o 58
요약 o 60
연습문제 o 61
현장의 목소리 : 바닥이 튼튼한 소프트웨어를 만들어 주세요 o 62
Chapter 03 소켓 주소 구조체 다루기
01 소켓 주소 구조체 o 64
02 바이트 정렬 함수 o 68
실습 3-1 바이트 정렬 함수 연습 o 71
03 IP 주소 변환 함수 o 73
실습 3-2 IP 주소 변환 함수 연습 o 76
04 도메인 이름 시스템과 이름 변환 함수 o 78
실습 3-3 이름 변환 함수 연습 o 82
요약 o 85
연습문제 o 86
Part 02 기본 학습:소켓 프로그래밍 기본
Chapter 04 TCP 서버-클라이언트
01 TCP 서버-클라이언트 구조 o 90
01 TCP 서버-클라이언트 개념 o 90
02 TCP 서버-클라이언트 동작 원리 o 92
03 TCP 서버-클라이언트 실습 o 93
실습 4-1 TCP 서버-클라이언트 작성과 테스트 o 94
02 TCP 서버-클라이언트 분석 o 105
01 TCP 서버 함수 o 106
02 TCP 클라이언트 함수 o 112
03 TCP 데이터 전송 함수 o 113
03 TCP 서버-클라이언트(IPv6) o 121
실습 4-2 TCP 서버-클라이언트(IPv6) 작성과 테스트 o 121
요약 o 175
연습문제 o 176
Chapter 05 데이터 전송하기
01 응용 프로그램 프로토콜과 데이터 전송
01 응용 프로그램 프로토콜 o 132
02 데이터 전송 o 134
02 다양한 데이터 전송 방식 o 138
01 소켓 응용 프로그램과 멀티스레드 o 138
실습 5-1 고정 길이 데이터 전송 연습 o 138
02 가변 길이 데이터 전송 o 145
실습 5-2 가변 길이 데이터 전송 연습 o 146
03 고정 길이+가변 길이 데이터 전송 o 153
실습 5-3 고정 길이+가변 길이 데이터 전송 연습 o 154
04 데이터 전송 후 종료 o 161
실습 5-4 데이터 전송 후 종료 연습 o 161
요약 o 169
연습문제 o 170
Chapter 06 멀티스레드
01 스레드 기초 o 172
01 소켓 응용 프로그램과 멀티스레드 o 172
02 스레드 기본 개념 o 174
03 스레드 생성과 종료 o 176
실습 6-1 스레드 생성과 종료, 인자 전달 연습 o 182
04 스레드 제어 o 185
실습 6-2 스레드 우선 순위 변경 연습 o 188
실습 6-3 스레드 실행 제어와 종료 기다리기 연습 o 192
02 멀티스레드 TCP 서버 o 194
실습 6-4 멀티스레드 TCP 서버 작성과 테스트 o 195
03 스레드 동기화 o 201
01 스레드 동기화 필요성 o 201
02 스레드 동기화 기본 개념 o 202
03 임계 영역 o 203
실습 6-5 임계 영역 연습 o 205
04 이벤트 o 208
실습 6-6 이벤트 연습 o 210
요약 o 216
연습문제 o 217
Chapter 07 UDP 서버-클라이언트
01 UDP 서버 클라이언트 구조 o 220
01 UDP 프로토콜 개요 o 220
02 UDP 서버-클라이언트 동작 원리 o 221
03 UDP 서버-서버 클라이언트 실습 o 222
실습 7- 1 UDP 서버-클라이언트 작성과 테스트 o 223
02 UDP 서버 클라이언트 분석 o 232
01 UDP 서버-클라이언트 모델 o 233
02 UDP 데이터 전송 함수 o 234
03 UDP 서버 클라이언트(IPv6) o 239
실습 7- 2 UDP 서버-클라이언트(IPv6) 작성과 테스트 o 239
04 브로드캐스팅 o 246
01 브로드캐스팅 개념 o 247
02 브로드캐스팅 실습 o 249
실습 7- 3 브로드캐스팅 예제 작성과 테스트 o 250
요약 o 256
연습문제 o 257
Chapter 08 소켓 옵션
01 소켓 옵션의 종류와 관련 함수 o 260
02 SQL_SOCKET 레벨 옵션 o 264
01 SO_BROADCAST 옵션 o 264
02 SO_KEEPALIVE 옵션 o 265
03 SO_LINGER 옵션 o 266
04 SO_SNDBUF, SO_RCVBUF 옵션 o 269
05 SO_SNDTIMEO, SO_RCVTIMEO 옵션 o 270
06 SO_REUSEADDR 옵션 o 271
실습 8-1 SO_REUSEADDR 옵션 테스트 o 271
03 IPPROTO_IP, IPPROTO_IPV6 레벨 옵션 o 275
01 멀티캐스팅 개념 o 275
02 멀티캐스팅 실습(IPv4) o 276
실습 8-2 멀티캐스팅(IPv4) 예제 작성과 테스트 o 277
03 멀티캐스팅 실습(IPv6) o 283
실습 8-3 멀티캐스팅(IPv6) 예제 작성과 테스트 o 283
04 멀티캐스팅 코드 분석 o 290
실습 8-4 IPPROTO_TCP 레벨 옵션 o 294
요약 o 294
연습문제 o 299
Chapter 09 GUI 소켓 응용 프로그램
01 GUI 응용 프로그램 o 302
01 GUI 응용 프로그램 구조와 동작 원리 o 302
02 GUI 응용 프로그램 작성 o 307
실습 9-1 GUI 응용 프로그램 작성과 테스트 o 308
03 GUI 응용 프로그램 코드 분석 o 312
02 GUI 소켓 응용 프로그램 o 316
01 GUI 소켓 응용 프로그램 구조와 동작 원리 o 316
02 GUI 소켓 응용 프로그램 작성 o 317
실습 9-2 GUI 소켓 응용 프로그램 작성과 테스트 o 318
03 GUI 응용 프로그램 코드 분석 o 324
03 대화상자 기반 응용 프로그램 o 329
01 대화상자 기반 응용 프로그램 구조와 동작 원리 o 329
02 대화상자 기반 응용 프로그램 작성 o 332
실습 9-3 GUI 응용 프로그램 작성과 테스트 o 332
03 대화상자 기반 응용 프로그램 코드 분석 o 337
04 대화상자 기반 소켓 응용 프로그램 o 340
01 대화상자 기반 소켓 응용 프로그램 구조와 동작 원리 o 340
02 대화상자 기반 응용 프로그램 작성 o 341
실습 9-4 대화상자 기반 소켓 응용 프로그램 작성과 테스트 o 341
03 대화상자 기반 소켓 응용 프로그램 코드 분석 o 348
요약 o 354
연습문제 o 356
Part 03 심화 학습:소켓 프로그래밍 고급
Chapter 10 소켓 입출력 모델(I)
01 소켓 입출력 모델 개요 o 360
01 소켓 모드의 종류 o 360
실습 10-1 넌블로킹 소켓 연습 o 361
02 서버 작성 모델의 종류 o 365
03 이상적인 소켓 입출력 모델의 특징 o 366
04 소켓 입출력 모델의 종류 o 367
02 Select 모델 o 368
01 Select 모델의 동작 원리 o 368
02 Select 모델 서버 작성 o 371
실습 10-2 Select 모델 TCP 서버 작성과 테스트 o 371
03 Seloct 모델 코드 분석 o 377
03 WSAAsynSelect 모델 o 383
01 WSAAsyncSelect 모델의 동작 원리 o 383
02 WSAAsyncSelect 모델 서버 작성 o 386
실습 10-3 WSAAsyncSelect 모델 TCP 서버 작성과 테스트 o 386
03 WSAAsyncSelect 모델 코드 분석 o 394
04 WSAEventSelect 모델 o 402
01 WSAEventSelect 모델의 동작 원리 o 402
02 WSAEventSelect 모델 서버 작성 o 408
실습 10-4 WSAEventSelect 모델 TCP 서버 작성과 테스트 o 408
03 WSAEventSelect 모델 코드 분석 o 415
요약 o 422
연습문제 o 423
Chapter 11 소켓 입출력 모델(II)
01 Overlapped 모델(I) o 426
01 Overlapped 모델(I)의 동작 원리 o 432
02 Overlapped 모델(I) 서버 작성 o 432
실습 11-1 Overlapped 모델(I) TCP 서버 작성과 테스트 o 433
02 Overlapped 모델(II) o 441
01 Overlapped 모델(II)의 동작 원리 o 441
02 Overlapped 모델(II) 서버 작성 o 444
실습 11-2 Overlapped 모델(II) TCP 서버 작성과 테스트 o 444
03 Overlapped 모델(II) 코드 분석 o 444
03 Completion Port 모델 o 452
01 Completion Port 모델의 동작 원리 o 452
02 Completion Port 모델 서버 작성 o 457
실습 11-3 Completion Port 모델 TCP 서버 작성과 테스트 o 457
03 Completion Port 모델 코드 분석 o 457
04 소켓 입출력 모델 비교 o 464
요약 o 466
연습문제 o 467
Chapter 12 Raw 소켓
01 Raw 소켓 기초 o 470
01 Raw 소켓 생성 o 470
02 Raw 소켓 입출력 o 472
02 Ping 프로그램 o 476
01 Ping 프로그램의 원리 o 476
02 Ping 프로그램 작성 o 479
실습 12-1 Ping 프로그램 작성과 테스트 o 479
03 Ping 프로그램 코드 분석 o 479
03 Traceroute 프로그램 o 487
01 Traceroute 프로그램의 원리 o 487
02 Traceroute 프로그램 작성 o 489
실습 12-2 Traceroute프로그램 작성과 테스트 o 489
03 Traceroute 프로그램 코드 분석 o 489
04 ICMP.DLL 활용 o 497
01 ICMP.DLL이 제공하는 함수 o 497
02 ICMP.DLL을 활용한 Ping 프로그램 작성 o 500
실습 12-1 ICMP.DLL을 활용한 Ping 프로그램 작성과 테스트 o 500
03 ICMP.DLL을 활용한 Ping 프로그램 코드 분석 o 501
요약 o 505
연습문제 o 506
Chapter 13 직렬 통신과 무선 통신 프로토콜
01 직렬 통신 o 508
01 직렬 통신 기초 o 508
02 직렬 통신 함수 o 511
03 직렬 통신 프로그램 작성 o 519
실습 13-1 직렬 통신 프로그램 작성 테스트 o 519
02 무선 통신 프로토콜 : IrDA o 525
01 IrDA 기초 o 525
02 IrDA 통신 함수 o 526
03 IrDA 통신 프로그램 작성 o 531
실습 13-2 IrDA 통신 프로그램 작성과 테스트 o 531
03 무선 통신 프로토콜 : 블루투스 o 539
01 블루투스 기초 o 540
02 블루투스 통신 함수-서버 o 546
04 블루투스 통신 프로그램 작성 o 548
실습 13-3 블루투스 장치 검색 프로그램 작성과 테스트 o 548
실습 13-4 블루투스 통신 프로그램 작성과 테스트 o 550
요약 o 559
연습문제 o 560
Part 04 실전 프로젝트:IPv4/IPv6 지원 멀티데이터 전송 프로그램
Chapter 14 IPv4/IPv6 지원 멀티데이터 전송 프로그램 제작
01 멀티데이터 전송 프로그램 제작 o 564
01 프로젝트 개요 o 564
02 프로그램 구조 o 564
03 프로그램 기능 o 566
02 응용 프로그램 작성 o 567
실습 14- 1 IPv4/IPv6 지원 TCP 서버 작성 o 567
실습 14-2 IPv4/IPv6 지원 TCP 클라이언트 작성 o 567
03 서버 코드 분석 o 569
01 헤더 파일, 전역 함수, 함수 원형 선언 o 569
02 메인 함수 o 570
03 소켓 정보 관리 함수 o 574
04 오류 처리 함수 o 576
04 클라이언트 코드 분석 o 577
01 헤더 파일, 전역 함수, 함수 원형 선언 o 577
02 메인 함수 o 580
03 대화상자 프로시저 o 581
04 소켓 통신 스레드 함수 o 585
05 자식 윈도우 프로시저 o 590
06 기타 함수 o 593
05 추가 구현 사항 o 596
현장의 목소리 : 경험으로 체득한 지식 o 598