이 책의 모든 예제가 Visual Studio 2010 버전으로 작성이 되어 있는데 2015버전으로 테스트 하니 컴파일 오류가 발생합니다. 각 코드의 맨 앞줄에 #define _WINSOCK_DEPRECATED_NO_WARNINGS 을 넣으면 이 교재의 형태대로 수행은 되나 예전 소켓 API를 지원하는 프로그램인지라 새로 작성해야 하는 문제가 생기네요. 저자가 책을 개정해 주시는게 가장 좋을 듯 합니다.
IPv4/IPv6를 지원하는 윈도우 네트워크 프로그래밍의 체계적인 학습
네트워크 개론 과목을 이수한 IT 관련 학부생과 IT 전문 학원 수강생을 대상으로 하여 점진적인 방식으로 구성했다. 1부 준비 학습과 2부 기본 학습에서 소켓 프로그래밍 기본을 다지고, 3부 심화 학습을 통해 고급 소켓 프로그래밍 기술을 익힌다. 4부 실전 프로젝트에서는 실용적인 소프트웨어 제작을 통해 배운 내용을 복습하면서 실무에 필요한 응용력을 키울 수 있다. 또한 중고급 주제까지 포함하고 있어 개인 학습자나 현업 개발자에게도 도움이 될 것이다.
준비, 기본, 심화, 실전 프로젝트 형태로 구성되어 있다. 1부 준비 학습과 2부 기본 학습에서는 소켓 프로그래밍의 기본을 다지고, 3부 심화 학습을 통해 고급 소켓 프로그래밍 기술을 익힐 수 있다. 4부 실전 프로젝트에서는 실용적인 소프트웨어 제작을 통해 1~3부에 걸쳐 배운 내용을 복습하면서 실무에 필요한 응용력을 키울 수 있다.
1부. 준비 학습(1-3장)
네트워크 프로그래밍에 필요한 이론과 개념을 다루고, 윈도우 소켓 프로그래밍의 특징과 장단점을 소개한다. 또한 소켓 프로그래밍을 본격적으로 시작하기 위한 필수 함수와 자료 구조를 단계적으로 익힌다.
2부. 기본 학습(4-9장)
TCP와 UDP 서버-클라이언트를 중심으로 소켓 응용 프로그램의 기본 구조와 핵심 함수 사용법을 학습한다. 코드는 IPv4를 기본으로 작성하되 IPv6를 지원하는 방법도 소개한다. 또한 실용적인 서버-클라이언트 구현에 필요한 다양한 데이터 전송 방법과 동시 작업 처리 기법, 소켓 옵션을 이용한 세부 제어, GUI 소켓 응용 프로그램 제작 방법을 다룬다.
3부. 심화 학습(10-13장)
기본 학습에서 구현한 서버의 효율성을 개선하여 시스템 자원을 적게 사용하면서도 다수의 클라이언트를 효율적으로 처리할 수 있게 해주는 다양한 소켓 입출력 모델을 학습한다. 그 밖의 주제로는 Raw 소켓을 이용한 저수준 네트워크 프로그래밍, 직렬 통신과 IrDA, 블루투스 프로그래밍을 다룬다.
4부. 실전 프로젝트(14장)
실전 응용 프로그램을 제작하는 과정을 통해 소켓 함수와 서버 작성 모델을 종합적으로 정리한다. IPv4와 IPv6를 동시에 지원하는 서버와 클라이언트를 각각 콘솔과 GUI 응용 프로그램 형식으로 제작한다.
Part 01 준비 학습:소켓 프로그래밍 입문 Chapter 01 네트워크와 소켓 프로그래밍 o 23 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 윈도우 소켓 시작하기 o 47 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 소켓 주소 구조체 다루기 o 63 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 서버-클라이언트 o 89 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 데이터 전송하기 o 131 01 응용 프로그램 프로토콜과 데이터 전송 o 132 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 멀티스레드 o 171 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 서버-클라이언트 o 219 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 소켓 옵션 o 259 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 소켓 응용 프로그램 o 301 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) o 359 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) o 425 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 소켓 o 469 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 직렬 통신과 무선 통신 프로토콜 o 507 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 지원 멀티데이터 전송 프로그램 제작 o 563 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
자료명 | 등록일 | 다운로드 |
---|---|---|
예제소스 | 2016-04-06 | 다운로드 |
도서구입 안내
<한빛아카데미> 도서는 한빛 홈페이지에서 더 이상 판매를 하지 않습니다. 도서 구입은 인터넷 서점을 이용하시기 바랍니다. 양해바랍니다.