000 | 00000cam c2200205 c 4500 | |
001 | 000045400466 | |
005 | 20170530160243 | |
007 | ta | |
008 | 070919s2007 ulka 001c kor | |
020 | ▼a 9788956743950 ▼g 13000 | |
035 | ▼a (KERIS)BIB000011042896 | |
040 | ▼a 241002 ▼c 241002 ▼d 211009 | |
082 | 0 4 | ▼a 004.62 ▼2 22 |
085 | ▼a 004.62 ▼2 DDCK | |
090 | ▼a 004.62 ▼b 2007z1 | |
100 | 1 | ▼a 유동근 ▼0 AUTH(211009)110374 |
245 | 2 0 | ▼a (멀티코어 시대에 꼭 알아야 할) 네트워크 멀티스레드 프로그래밍 / ▼d 유동근 지음 |
260 | ▼a 서울 : ▼b 정보문화사, ▼c 2007 | |
300 | ▼a 562 p. : ▼b 삽화 ; ▼c 24 cm | |
500 | ▼a 네트워크와 멀티스레드 프로그래밍의 핵심 원리를 파고드는 최고의 가이드 ; 스레드를 이용한 다양한 소켓 I/O 모델 응용 기술 | |
500 | ▼a 색인수록 | |
500 | ▼a 감수자: 천정아, 김현애 | |
945 | ▼a KINS |
Holdings Information
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Main Library/Monographs(3F)/ | Call Number 004.62 2007z1 | Accession No. 111438830 | Availability Available | Due Date | Make a Reservation | Service |
No. 2 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 004.62 2007z1 | Accession No. 121157925 | Availability Available | Due Date | Make a Reservation | Service |
No. 3 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 004.62 2007z1 | Accession No. 121157926 | Availability Available | Due Date | Make a Reservation | Service |
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Main Library/Monographs(3F)/ | Call Number 004.62 2007z1 | Accession No. 111438830 | Availability Available | Due Date | Make a Reservation | Service |
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 004.62 2007z1 | Accession No. 121157925 | Availability Available | Due Date | Make a Reservation | Service |
No. 2 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 004.62 2007z1 | Accession No. 121157926 | Availability Available | Due Date | Make a Reservation | Service |
Contents information
Book Introduction
단순히 소켓 함수를 나열하고 사용법을 설명하는 것이 아니라, 소켓 함수의 내부 동작 원리를 구체적으로 설명하고 주의해야 할 사항에 대해서도 자세히 점검한다. 또한 멀티코어 시대에 대처하여 멀티스레드 프로그래밍이 필수적인 만큼 스레드의 기초 이론부터 동기화 기법 그리고 스레드 설계 방법에 대해 설명한다.
고성능 소켓 어플리케이션을 구현하기 위한 최고의 노하우
이 책에서는 단순히 소켓 함수를 나열하고 사용법을 설명하는 것이 아니라, 소켓 함수의 내부 동작 원리를 구체적으로 설명하고 주의해야 할 사항에 대해서도 자세히 점검하고 있습니다. 또한, 멀티코어 시대에 대처하여 멀티스레드 프로그래밍이 필수적인 만큼 스레드의 기초 이론부터 동기화 기법 그리고 스레드 설계 방법에 대해 설명합니다. 멀티스레드 프로그래밍을 이용해 보다 우수한 성능의 소켓 어플리케이션을 구현해보세요.
이 책의 내용
-네트워크와 프로토콜의 핵심 원리
-소켓 함수의 이해
-스레드와 스레드 동기화 기법
-MFC 소켓과 MFC 스레드
-다양한 소켓 I/O 모델
-I/O 모델의 스레드 응용
-핵심 소켓 옵션
Information Provided By: :

Author Introduction
유동근(지은이)
90년대에는 한국기업전산원에서 C/C++ 개발자로 근무했다. MIS, ERP, 그리고 전자결재 관련 애플리케이션을 10년 넘게 개발하다가 밤낮 없는 회사생활에 지쳐 좀 더 여유로운 생활을 하고자 프리랜서 개발자로 활동하기 시작했다. 이 기간 동안 네트워크, 서버, Windows CE 및 임베디드 분야 등 여러 프로젝트에 참여했고 삼성전자, 중앙일보 ITEA, 삼성멀티캠퍼스에서 프로그래밍 전문 강사로도 활동했다. 이후 SK 텔레시스에서 근무하면서 안드로이드 휴대폰 개발에 참여하기도 했다. 현재 증강현실과 위치기반 서비스를 전문으로 하는 키위플(주)에서 안드로이드와 아이폰 서비스 개발에 참여하고 있다. 『윈도우즈 MFC 프로그래밍』(정보문화사) 『네트워크 멀티스레드 프로그래밍』(정보문화사) 『아이폰&아이팟 프로그래밍』(한빛미디어) 『안드로이드 API 바이블』(정보문화사)

Table of Contents
목차 chapter 01 TCP/IP와 소켓 = 11 Section 1 TCP/IP와 OSI 7계층 = 13 프로토콜과 OSI 7계층 = 13 TCP/IP와 OSI 7계층 = 16 계층별 헤더 = 20 Section 2 소켓과 윈도우 소켓 = 22 소켓 = 22 소켓 객체와 소켓 핸들 = 23 윈도우 소켓 = 26 Section 3 첫 번째 소켓 어플리케이션 = 29 프로젝트 생성 = 29 윈도우 소켓 헤더 = 33 윈도우 소켓 초기화와 해제 = 33 윈도우 소켓 라이브러리 링크 = 36 Section 4 주소 변환 = 37 소켓이 사용하는 주소 구조체 = 38 주소 변환 함수 = 44 주소 변환 예제 = 48 Section 5 바이트 정렬 = 52 정수의 메모리 포맷 = 52 바이트 변환 함수 = 53 바이트 변환이 필요한 또 하나의 경우 = 54 핵심 포인트 = 55 chapter 02 TCP 클라이언트/서버 = 59 Section 1 클라이언트 서버 모델 = 61 Section 2 TCP 서버 모델 = 63 socket = 64 bind = 68 listen = 71 accept = 73 send = 76 recv = 77 closesocket = 79 Section 3 시간 서버로 구현한 TCP 서버 = 80 순차 서버와 병렬 서버 = 85 Section 4 TCP 클라이언트 모델 = 88 connect = 88 시간 클라이언트 프로젝트 = 90 Section 5 TCP 소켓의 상태 변화 = 94 TCP three-way handshake = 94 TCP four-way handshake = 95 소켓의 상태 변화 = 97 클라이언트의 "TIME_WAIT"는 정상이지만 서버의 "TIME_WAIT"는 에러 = 103 클라이언트의 "TIME_WAIT"는 제거 = 106 핵심 포인트 = 107 chapter 03 UDP 클라이언트/서버 = 109 Section 1 UDP 클라이언트 서버 모델 = 111 UDP는 메시지 기반 프로토콜이다 = 111 UDP 클라이언트 서버 모델 = 114 recvfrom = 115 sendto = 118 Section 2 UDP 클라이언트 서버로 구현한 에코(echo) 클라이언트 서버 = 120 UDP로 구현한 에코(echo) 서버 = 120 UDP로 구현한 에코(echo) 클라이언트 = 123 Section 3 멀티캐스트 = 128 유니캐스트, 브로드캐스트, 멀티캐스트 = 128 멀티캐스트 = 133 멀티캐스트 그룹 가입과 탈퇴 = 135 핵심 포인트 = 140 chapter 04 윈도우즈 어플리케이션 = 143 Section 1 GUI 윈도우즈 어플리케이션 구조 = 145 윈도우즈의 특징 = 145 윈도우즈 어플리케이션의 시작 = 147 WinMain 기본형 = 150 메시지 처리 프로시저 = 158 메인 윈도우가 처리하는 기본 메시지 WM_DESTROY = 160 메시지 처리와 그리기 = 162 무효화 영역과 WM_PAINT = 165 Section 2 MFC 어플리케이션 구조 = 169 MFC 프로젝트 = 169 MFC 프레임워크 = 178 MFC 클래스 상속과 메시지와 가상 함수 = 183 핸들과 MFC 클래스 = 185 Section 3 MFC 대화상자 기반 프로그램 = 186 MFC 대화상자 프로젝트 = 186 핵심 포인트 = 191 chapter 05 스레드와 구조화된 예외 처리 = 193 Section 1 프로세스와 스레드 = 195 윈도우즈 프로세스 = 195 스레드 = 198 Section 2 스레드 생성 = 201 스레드 생성 = 201 스레드 예제 = 205 스레드 중지와 실행 = 216 Section 3 스레드 종료 = 218 스레드 종료 상황 = 218 스레드 시작 함수가 리턴하여 종료되는 경우 = 220 스레드 내에서 ExitThread 함수를 호출하여 스스로 종료하는 경우 = 221 다른 스레드에서 TerminateThread 함수를 호출하여 종료시키는 경우 = 223 프라이머리 스레드가 종료하여 다른 스레드가 강제 종료되는 경우 = 225 Section 4 구조화된 예외 처리와 스레드 = 225 구조적 예외 처리 = 226 구조적 예외 처리를 이용한 스레드 설계 = 228 구조적 종료 처리 = 233 구조적 예외 처리와 종료 처리를 이용한 스레드 기본 구조 = 236 Section 5 워커 스레드와 UI 스레드 = 240 워커 스레드(worker thread) = 240 UI 스레드(User Interface thread) = 241 Section 6 MFC의 스레드 구조 = 249 MFC의 워커 스레드 구조 = 250 MFC에서 UI 스레드 생성 = 258 MFC의 UI 스레드 구조 = 267 핵심 포인트 = 271 chapter 06 스레드 동기화와 스케줄링 = 273 Section 1 TLS = 275 스레드와 함수 사이의 변수 사용 관계 = 275 TLS(Thread Local Storage) = 277 Win32 TLS = 278 Win32 TLS를 위한 예제 = 281 컴파일러 지원 TLS = 288 MFC TLS = 290 TLS와 ANSI C 런타임 라이브러리 = 294 Section 2 스레드 동기화 = 302 동기화는 왜 필요한가? = 302 Interlocked- 동기화 = 304 잊지 말자! volatile = 307 다시 설계한 "InvertImage" = 309 크리티컬 섹션 = 310 Section 3 커널 객체를 이용한 동기화 = 314 신호와 비신호 = 314 이벤트 = 318 뮤텍스 = 327 세마포어 = 331 동기화 객체의 선택 = 335 Section 4 MFC 동기화 객체 = 335 CSyncObject = 335 CCriticalSection = 336 CSemaphore = 338 CMutex = 339 CEvent = 340 CSingleLock = 341 CMultiLock = 342 Section 5 스레드 스케줄링 = 344 윈도우즈 스케줄러 = 344 스레드 우선순위 = 345 퀀텀(quantum) = 349 스레드 상태 = 349 실행 우선순위의 변화 = 351 핵심 포인트 = 353 chapter 07 윈도우 소켓 모델 = 355 Section 1 소켓 모드와 모델 = 357 소켓 모드 = 357 소켓 모델 = 364 Section 2 select 모델 = 369 select 모델이란? = 369 select 모델로 구현한 에코 서버 = 373 TCP 에코 클라이언트 = 381 핵심 포인트 = 385 chapter 08 WSAAsyncSelect 모델과 MFC = 389 Section 1 WSAAsyncSelect 모델 = 391 WSAAsyncSelect 모델이란? = 391 WSAAsyncSelect 모델을 이용한 채팅 서버 = 396 WSAAsyncSelect 모델을 이용한 채팅 클라이언트 = 408 Section 2 MFC와 WSAAsyncSelect 모델 = 421 MFC의 소켓 초기화 = 421 CAsyncSocket = 424 CSocket = 430 직렬화 소켓 = 432 CSocket을 이용한 채팅 클라이언트 = 434 핵심 포인트 = 445 chapter 09 WSAEventSelect와 Overlapped 모델 = 447 Section 1 WSAEventSelect 모델 = 449 WSAEventSelect 모델이란? = 449 WSAEventSelect 모델을 이용한 채팅 서버 = 458 Section 2 Overlapped 모델 = 472 Overlapped 모델과 접속 처리 = 472 Overlapped 모델 입출력 함수 = 479 Overlapped 모델을 이용한 채팅 서버 = 486 핵심 포인트 = 496 chapter 10 완료 루틴과 IOCP 모델 = 499 Section 1 완료 루틴 모델 = 501 완료 루틴 모델이란? = 501 완료 루틴 모델을 이용한 채팅 서버 = 508 Section 2 IOCP 모델 = 518 IOCP 모델이란? = 519 IOCP 모델을 이용한 채팅 서버 = 527 Section 3 중요한 소켓 옵션 = 542 TCP_NODELAY = 542 SO_KEEPALIVE = 546 SIO_KEEPALIVE_VALS = 547 SO_CONNECT_TIME = 549 SO_REUSEADDR = 550 SO_SNDBUF, SO_RCVBUF = 551 핵심 포인트 = 552 찾아보기 = 554