메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT CookBook, TCP/IP 윈도우 소켓 프로그래밍

IT CookBook, TCP/IP 윈도우 소켓 프로그래밍

한빛아카데미

집필서

절판

  • 저자 : 김선우
  • 출간 : 2011-06-21
  • 페이지 : 604 쪽
  • ISBN : 9788979148398
  • 물류코드 :1839
  • 본 도서는 대학 강의용 교재로 개발되었으므로 연습문제 해답은 제공하지 않습니다.
  • 초급 초중급 중급 중고급 고급
5점 (1명)
좋아요 : 128

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 응용 프로그램 형식으로 제작한다.

김선우 저자

김선우

서울대학교 천문학과와 컴퓨터공학부를 졸업하고, 동 대학원에서 컴퓨터공학을 전공했습니다. 비트교육센터 강사로 윈도우/리눅스 분야를 교육했으며, 현재는 이레이어 시스템 수석 연구원으로 삼성전자 등 기업 위주의 임베디드/모바일/.NET/AI 기술 교육과 더불어 교육 관련 개발도 병행하고 있습니다. 저서로 『IT CookBook, 쉽게 배우는 MFC 윈도우 프로그래밍』(한빛아카데미, 2020), 『IT CookBook, 단계별로 배우는 안드로이드 프로그래밍』(한빛아카데미, 2017) 등 일곱 권이 있고, 역서로 『찰스 페졸드의 Programming Windows, 5th Edition』(한빛미디어, 2004)이 있습니다. 

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

이 책의 모든 예제가 Visual Studio 2010 버전으로 작성이 되어 있는데 2015버전으로 테스트 하니 컴파일 오류가 발생합니다. 각 코드의 맨 앞줄에 #define _WINSOCK_DEPRECATED_NO_WARNINGS 을 넣으면 이 교재의 형태대로 수행은 되나 예전 소켓 API를 지원하는 프로그램인지라 새로 작성해야 하는 문제가 생기네요. 저자가 책을 개정해 주시는게 가장 좋을 듯 합니다.

결제하기
• 문화비 소득공제 가능

도서구입 안내

<한빛아카데미> 도서는 한빛 홈페이지에서 더 이상 판매를 하지 않습니다. 도서 구입은 인터넷 서점을 이용하시기 바랍니다. 양해바랍니다.

리뷰쓰기

닫기
* 도서명 :
IT CookBook, TCP/IP 윈도우 소켓 프로그래밍
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
IT CookBook, TCP/IP 윈도우 소켓 프로그래밍
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
IT CookBook, TCP/IP 윈도우 소켓 프로그래밍
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 책0