MARC 닫기
00712nam 2200265 c 4500
000000749102
C_1140.cpp#604
071212s2005 ulka 001 kor
▼a 9788979143331
▼g 13560:
▼c \25000
▼a 248023
▼c 248023
▼l EM0000188147
▼a 005.276
▼2 22
▼a 005.276
▼b 백82t
▼a 백창우
▼a TCP/IP 소켓 프로그래밍/
▼d 백창우 [외] 지음.
▼a 서울:
▼b 한빛미디어,
▼c 2005.
▼a 744 p.:
▼b 삽도;
▼c 26 cm.
▼a 공저자: 최영호, 조경민, 윤경훈, 윤상배
▼a 색인수록
▼a TCP/IP
▼a 소켓
▼a 프로그래밍
▼a 네트워크프로그래밍
▼a 최영호
▼a 조경민
▼a 윤경훈
▼a 윤상배
▼b \25000
▼a 단행본
▼a 005.276
▼b 백82t
KMO200703096
권 호 :
발행년 : 2005
발행처 : 한빛미디어
서 명 : TCP/IP 소켓 프로그래밍
목차
머리말 = 3
주요내용 = 4
Part 1 소켓 프로그래밍 맛보기와 네트워크의 이해
1장. 소켓 프로그래밍 맛보기
01. 소켓 프로그래밍이란 = 21
02. 처음 해보는 소켓 프로그래밍 = 23
03. 실행과 테스트 = 28
04. 무슨 일이 일어났는가 = 31
이것만은 알고 갑시다 = 34
2장. 네트워크의 기본 이론
01. 네트워크와 인터넷 = 37
02. 네트워크의 물리적 구성 요소 = 39
Vitamin Info : 운영체제의 기본 게이트웨이 설정 = 44
03. 인터넷이란 = 45
04. 인터넷의 주소체계 = 47
IP 주소 형식 = 47
네트워크 주소와 호스트 주소 = 48
클래스 기반 주소 지정 = 50
05. DNS = 52
Vitamin Info : DNS 서버는 도대체 어디 있단 말인가 = 53
06. 포트의 의미 = 55
07. 프로토콜이란 = 57
프로토콜의 정의 = 57
프로토콜의 종류 = 58
ARP = 58
ICMP = 61
IGMP = 64
08. TCP/IP 프로토콜 = 65
IP = 65
TCP = 71
Vitamin Info : 만약, 데이터 사이즈가 O인 TCP 패킷이 전송된다면 = 76
09. TCP/IP 네트워크 데이터 전송 과정의 이해 = 78
ARP에 의한 물리 주소 변환 = 78
Vitamin Info : 테이블 내용을 보려면 = 83
도메인을 IP로 변환하기 = 84
Vitamin Info : 패킷 구조의 대명사 _ Ethereal = 85
TCP 접속 과정 = 90
데이터 캡슐화 = 91
패킷 라우팅 = 93
Vitamin Info : 웹 브라우저에서 웹 서버로 보내는 문자열을 확인하려면 = 94
목적지 호스트 수신 = 95
TCP 접속 종료 = 97
10. OSI 모델 적용 = 97
OSI 모델이란 = 98
OSI 모델이 필요한 이유 = 99
OSI 모델의 각 계층 설명 = 99
OSI 7 계층과 TCP/IP = 101
11. UDP = 102
UDP의 구조 및 특징 = 103
이것만은 알고 갑시다 = 105
Part 2 초급 네트워크 프로그래밍
3장. 소켓의 동작 원리와 이해
01. 소켓의 기본 동작 방식 = 111
전화기와 비교한 소켓의 통신 과정 = 112
02. 서버/클라이언트 개념 = 115
03. 소켓으로 작성하는 서버/클라이언트 프로그램의 동작 방법 = 117
Vitamin Info : 네트워크 프로그래머와 서버 프로그래머 = 118
이것만은 알고 갑시다 = 121
4장. TCP 서버/클라이언트 프로그래밍
01. TCP 프로토콜의 특징과 활용 = 125
세션 관리 = 126
핸드셰이크 = 127
패킷 순서 조합 = 128
포트를 이용한 서비스 다중화 = 130
02. TCP 클라이언트 프로그램 구현 = 131
Vitamin Info : 자신의 프로그램에 TCP 포트를 할당하는 방법 = 131
Vitamin Info : RAW 소켓을 활용한 예 = 137
03. TCP 서버 프로그램 구현 = 145
이것만은 알고 갑시다 = 152
5장. UDP 서버/클라이언트 프로그래밍
01. UDP 프로토콜의 특징과 활용 = 155
02. UDP 클라이언트 프로그램 구현 = 157
Vitamin Info : 네트워크 프로그래밍에서 사용하는 데이터 프로토콜 = 158
Vitamin Info : 블로킹 모드와 비블로킹 모드 = 165
03. UDP 서버 프로그램 구현 = 166
이것만은 알고 갑시다 = 171
Part 3 중급 네트워크 프로그래밍 Ⅰ : 유닉스/리눅스
6장. 시스템 프로그래밍 기초
01. 왜 시스템 프로그래밍인가 = 177
02. 파일 입출력 다루기 = 179
Vitamin Info : 소켓이 파일인지 실제로 확인해보자 = 180
기본적인 파일 입출력 = 181
03. 프로세스의 생성과 제어 = 184
프로세스의 관계 = 185
fork와 exer를 통한 프로세스의 실행 = 186
Vitamin Info : 프로세스 상태 확인 = 186
fork를 통한 자식 프로세스의 생성 = 187
exec를 이용한 새로운 프로그램 실행 = 189
네트워크 프로그램에서 사용하는 fork = 191
고아 프로세스와 데몬 프로그램 = 193
데몬 함수의 사용 = 195
좀비 프로세스를 이용한 종료된 자식 프로세스의 정보 얻기 = 196
네트워크 프로그램과 좀비 프로세스의 관계 = 199
04. 포직스 시그널을 이용한 프로세스간 동기화 = 199
다양한 종류의 시그널 = 201
시그널이 발생했을 때 프로세스의 처리 방식 = 202
Vitamin Info : kill을 이용한 프로세스의 시그널 전달 = 203
시그널 처리 함수 = 204
네트워크 프로그램과 시그널 = 206
05. IPC : 프로세스간 통신 = 208
파이프를 이용한 프로세스간 통신 = 209
pipe 함수를 통한 파이프의 생성 = 212
FIFO : 명명된 파이프 = 215
06. 스레드의 개념과 생성 = 219
스레드란 = 220
왜 스레드를 사용하는가 = 221
스레드를 사용한 경우의 단점 = 222
포직스 스레드: pthread = 222
pthread 기본 API = 223
간단한 스레드 예제 = 225
스레드 동기화 관련 pthread API = 229
스레드 설명을 마무리하며 = 233
이것만은 알고 갑시다 = 234
7장. 다중 접속 처리 서버 구현
01. 멀티 프로세스 모 = 237
Vitamin Info : 멀티 프로세스란 = 238
02. 멀티 스레드 모델 = 255
Vitamin Info : 컨텍스트 스위치 = 257
03. I/O 멀티플렉싱 모델 = 263
이것만은 알고 갑시다 = 273
8장. 성능 향상을 위한 소켓 제어
01. 소켓 옵션의 개념과 설정 방법 = 277
02. 성능 향상을 위한 소켓 옵션의 활용 = 279
SO_BROADCAST: 브로드캐스팅을 사용한다 = 280
SO_DONTROUTE: 라우팅 테이블을 참조하지 않는다 = 282
SO_KEEPALIVE: 소켓 연결이 유지되고 있는지 감시한다 = 282
SO_SNDBUF & SO_RCVBUF: 송/수신 버퍼의 크기를 설정한다 = 283
SO_SNDTIMEO & SO_RCVTIMEO: 송/수신 타임아웃을 설정한다 = 286
SO_REUSEADDR: 바인딩 포트를 재사용한다 = 287
이것만은 알고 갑시다 = 294
9장. RAW 소켓을 이용한 패킷 제어
01. RAW 소켓: 스위스 만능 칼 = 297
RAW 소켓을 어디에 사용하면 좋은가 = 298
02. RAW 소켓 프로그래밍 = 302
RAW 소켓 만들기 = 304
RAW 소켓과 권한 = 304
03. RAW 소켓을 이용한 ping 프로그램 만들기 = 305
유닉스에서 작동하는 ping 프로그램 = 306
윈도우에서 작동하는 ping 프로그램 = 310
04. RAW 소켓을 이용한 스니퍼 프로그램 만들기 = 315
Vitamin Info : Libpcap를 이용한 패킷 캡처 방법 = 321
이것만은 알고 갑시다 = 322
Part 4 중급 네트워크 프로그래밍 Ⅱ : 윈도우
10장. MFC 윈도우 네트워크 프로그래밍
01. 간단한 MFC CSocket TCP 프로그램 = 327
Vitamin Info : 상속 관계 = 328
간단한 MFC CSocket TCP 클라이언트 프로그램 = 331
Vitamin Info : Pre-Compiled 헤더 = 336
간단한 MFC CSocket TCP 서버 프로그램 = 343
Vitamin Info : 디버그 모드 설정 = 347
02. 제대로 된 MFC CSocket TCP 프로그램 = 350
제대로 된 MFC CSocket TCP 클라이언트 프로그램 = 350
제대로 된 MFC CSocket TCP 서버 프로그램 = 355
03. MFC CAsyncSocket TCP 프로그램 = 366
MFC CAsyncSocket TCP 클라이언트 프로그램 = 366
MFC CAsyncSocket TCP 서버 프로그램 = 379
Vitamin Info : 다른 프로젝트의 클래스를 가져다 쓰기 = 381
04. MFC CAsyncSocket UDP 프로그램 = 387
Vitamin Info : 문자열의 불편함을 해소하기위한 TCHAR = 391
이것만은 알고 갑시다 = 396
11장. 윈도우 스레드 프로그래밍
01. 들어가기에 앞서 = 399
스레드 사용하기 = 400
02. 스레드 생성하기 = 401
Vitamin Info : 스레드의 우선순위를 정해주는 스케줄러 = 402
Vitamin Info : MSDN을 즐겨보는 습관을 기르자 = 404
스레드 제어 = 406
스레드 종료 = 406
스레드 기다리기 = 407
Vitamin Info : _beginthread와 _beginthreadex의 정체 = 408
03. MFC CWinThread 사용하기 = 410
Vitamin Info : C++ 인자 생략 = 411
작업자 스레드 사용하기 = 413
UI 스레드 사용하기 = 413
UI 스레드의 정체 = 417
04. 스레드와 메시지 = 420
05. 스레드와 윈도우 = 423
win32 윈도우와 스레드 = 424
MFC 윈도우와 스레드 = 426
MFC 대화상자와 스레드 = 428
Vitamin Info : 멀티스레드에서 MFC 객체를 사용할 때 주의할 점 = 431
06. 스레드간 동기화 = 432
임계구역 이용 = 433
이벤트 객체 이용하기 = 435
07. 멀티 스레드에서 MFC Socket 사용하기 = 440
이것만은 알고 갑시다 = 443
12장. Win32 윈속 프로그래밍
01. 윈속 I/O 모델 = 447
02. WSAAsyncSelect 모델 = 450
WSAAsyncSekect 모델이란 = 451
WSAAsyncSekect 모델 사용하기 = 452
항상 WSAEWOULDBLOCK이 발생될 것을 염두에 두자 = 456
네트워크 이벤트가 언제 발생할까 = 457
03. WSAAsyncSelect 프로그램 작성하기 = 459
Win32 WSAsyncSelect TCP 클라이언트 프로그램 = 459
Win32 WSAsyncSelect TCP 서버 프로그램 = 469
MEC에서 WSAsyncSelect 사용하기 = 476
04. WSAEventSelect 모델 = 481
05. WSAEventSelect 프로그램 작성하기 = 484
CEventSocket: 자신만의 소켓 클래스 작성하기 = 485
CEventSocket을 이용한 TcpEventClient 작성하기 = 485
Vitamin Info : 가상 함수 = 495
CEventSocket을 이용한 TcpEventServer 만들기 = 501
Vitamin Info : 스레드 안의 메시지 박스 = 504
이것만은 알고 갑시다 = 507
13장. 윈도우 기반의 다중 접속 처리
01. 다중 접속 서버의 구현 = 511
02. 동적할당 = 513
C에서의 동적할당 = 513
Vitamin Info : 메모리 릭에 대한 오해 = 515
C++에서의 동적할당 = 517
03. 연결 리스트 = 519
Vitamin Info : 템플릿 = 523
Vitamin Info : MFC 컬렉션 = 525
04. MFC 리스트 클래스의 활용 = 526
05. MFC 리스트 클래스를 이용해서 다중 접속 서버 만들기 = 532
06. 스레드를 사용한 다중 접속 서버 모델 = 538
07. 프로세스를 사용한 다중 접속 서버 모델 = 543
이것만은 알고 갑시다 = 546
Part 5 고급 네트워크 프로그래밍 Ⅰ : 유닉스/리눅스
14장. 유닉스/리눅스 고성능 서버 구현
01. 기존 기술들의 문제점 = 551
멀티 프로세스, 멀티 스레드 방식의 문제점 = 552
입출력 다중화 방식의 문제점 = 552
Vitamin Info : 프리 프로세스, 프리 스레드 = 553
02. 리얼타임 시그널을 통한 이벤트 기반 입출력 처리 = 554
유닉스 시그널과 리얼타임 시그널 = 555
예제 프로그램으로 확인해보는 리얼타임 시그널 = 560
네트워크 프로그램에서의 리얼타임 시그널 적용 = 563
리얼타임 시그널을 이용한 네트워크 프로그램 만들기 = 565
Vitamin Info : 리얼타임 시그널 + 스레드 = 570
03. epoll: 이벤트 기반 소켓 연결 방식 = 571
epoll 지원하기 = 572
epoll의 작동 방식 = 573
epoll 함수 = 574
epoll을 이용한 소켓 프로그램 예제 = 576
이것만은 알고 갑시다 = 580
15장. 멀티미디어 데이터를 위한 멀티캐스팅 응용
01. 멀티캐스트: 고화질 멀티미디어 컨텐츠 마술사 = 583
멀티캐스트란 = 583
멀티캐스트 프로그래밍 = 585
02. 브로드캐스트: 멀티캐스트의 사촌 = 588
브로드캐스트란 = 589
브로트캐스트 프로그래밍 = 589
이것만은 알고 갑시다 = 593
Part 6 고급 네트워크 프로그래밍 Ⅱ : 윈도우
16장. 유용한 Winsock2 프로그래밍
01. Winsock2 소개 = 599
02. 조건부 억셉트 = 601
03. scatter-gather I/O = 612
이것만은 알고 갑시다 = 617
17장. 윈속 고성능 네트워크 프로그래밍
01. 오버랩드 I/O = 621
02. Winsock2 오버랩드 I/O 프로그래밍 = 625
03. 이벤트 객체를 이용한 오버랩드 I/O 결과 통보 받기 = 629
04. 완료 함수를 통한 오버랩드 I/O 결과 통보 받기 = 635
05. APC = 642
Vitamin Info : QueueUserAPC: undeclaredidentitier 컴파일 오류 = 645
06. 이벤트 방식의 오버랩드 I/O와 스레드 = 646
Vitamin Info : Win32 애플리케이션에서 스레드 = 648
07. 완료루틴 방식의 오버랩드 I/O와 스레드 = 655
08. IOCP = 660
Vitamin Info : 작업 스레드수와 NumberOfConcurrentThreads 값의 관계 = 665
이것만은 알고 갑시다 = 680
Part 7 실무 네트워크 프로그래밍
18장. 꼭 알아야 할 네트워크 문제 해결
01. 네트워크 패킷 스니핑 도구: 어떨 때 사용하면 되는가 = 685
02. 패킷의 경계 구분: 데이터만 보내면 어떤 일이 발생하는가 = 687
패킷간의 경계가 없는 소켓 프로그래밍 = 687
패킷의 길이를 명시해서 송수신하는 방법 = 690
Vitamin Info : 패킷의 종류 = 690
03. 소켓 타임 아웃: 네트워크가 끊기면 어떤 현상이 발생하는가 = 692
클라이언트의 비정상 종료 = 692
네트워크 단절 = 694
이것만은 알고 갑시다 = 698
19장. 실전 프로젝트: 고급 채팅 서버와 클라이언트
01. 프로그램 설계 = 701
개발 환경 = 701
프로그램의 흐름 설계 = 702
패킷 설계 = 703
02. 프로그램 제작 = 704
기본 설정 = 704
서버 접속과 로그인 처리 = 711
대화방 생성과 대화방에서의 채팅 = 723
찾아보기 = 738
바이브 코딩 혁명이 온다 : AI 에이전트와 제로 코드 소사이어티의 탄생
005.133 김73ㅂ
(맥스 테그마크의) 라이프 3.0 : 인공지능이 열어갈 인류와 생명의 미래
006.301 T261ㄹ백
(2025) SQLD 모든 것 : #SQLD 14일 합격
005.7585 아68s
인문의 재발견
001.3 안73ㅇ
서평쓰기