
000 | 00699namccc200241 k 4500 | |
001 | 000000814006 | |
005 | 20100805094206 | |
007 | ta | |
008 | 030415s2003 ulka 001a kor | |
020 | ▼a 8989345596 ▼g 93000 : ▼c \25000 | |
035 | ▼a KRIC08628581 | |
040 | ▼a 211046 ▼c 211046 ▼d 211046 ▼d 211009 | |
049 | 1 | ▼l 121078646 ▼f 과학 ▼l 121078647 ▼f 과학 ▼l 111253212 |
082 | 0 4 | ▼a 005.713762 ▼2 21 |
090 | ▼a 005.713762 ▼b 2003 | |
100 | 1 | ▼a 윤성우 ▼0 AUTH(211009)13857 |
245 | 1 0 | ▼a TCP/IP 소켓 프로그래밍 / ▼d 윤성우 저. |
260 | ▼a 서울 : ▼b 프리렉 , ▼c 2003. | |
300 | ▼a 547 p. : ▼b 삽도 ; ▼c 26cm. | |
500 | ▼a 熱血講義 | |
500 | ▼a 색인 수록 | |
653 | ▼a 네트워크 ▼a 소켓 ▼a 서버 ▼a 도메인 ▼a 리눅스 |
Holdings Information
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Main Library/Monographs(3F)/ | Call Number 005.713762 2003 | Accession No. 111253212 | Availability Available | Due Date | Make a Reservation | Service |
No. 2 | Location Science & Engineering Library/Sci-Info(Stacks1)/ | Call Number 005.713762 2003 | Accession No. 121078646 | Availability Available | Due Date | Make a Reservation | Service |
No. 3 | Location Science & Engineering Library/Stacks 5(Eastern Books)/ | Call Number 005.713762 2003 | Accession No. 121078647 | Availability Available | Due Date | Make a Reservation | Service |
No. 4 | Location Sejong Academic Information Center/Science & Technology/ | Call Number 005.713762 2003 | Accession No. 151179426 | 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 005.713762 2003 | Accession No. 111253212 | 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 005.713762 2003 | Accession No. 121078646 | Availability Available | Due Date | Make a Reservation | Service |
No. 2 | Location Science & Engineering Library/Stacks 5(Eastern Books)/ | Call Number 005.713762 2003 | Accession No. 121078647 | Availability Available | Due Date | Make a Reservation | Service |
No. | Location | Call Number | Accession No. | Availability | Due Date | Make a Reservation | Service |
---|---|---|---|---|---|---|---|
No. 1 | Location Sejong Academic Information Center/Science & Technology/ | Call Number 005.713762 2003 | Accession No. 151179426 | Availability Available | Due Date | Make a Reservation | Service |
Contents information
Book Introduction
소켓을 이용한 네트워크 프로그래밍에 처음 입문하는 사람들을 위한 책이다. 네트워크를 구성하는 기본 요소에 대한 설명부터 윈도우즈와 리눅스 환경에서 네트워크 프로그램을 작성하는 방법을 단계별로 학습한다.
먼저 1부에서 다양한 운영체제 네트워크의 기본이 되는 BSD를 기반으로 한 네트워크 이론들을 학습하고, 2부와 3부에서 리눅스와 윈도우즈로 나누어 실제 네트워크 프로그래밍은 어떻게 되는지 학습한다. 특히, 3부의 윈도우즈 부분에는 확장된 소켓에 관한 내용까지 자세히 살펴본다.
책에 포함된 무료 쿠폰을 이용하여 프리렉 사이트(www.freelec.co.kr)에서 제공하는 인터넷 강의를 무료로 수강할 수 있다.
Information Provided By: :

Author Introduction
윤성우(지은이)
프로그래밍을 공부한다면 모르는 사람이 없을 것 같은 베스트셀러 저자이다. 여전히 쉽게 설명하는 방법에 대해 고민하고 있으며 그 고민 결과를 바탕으로 책을 집필하고 있다.프로그래머라는 직업에 충실하기 위해 적지 않은 기간 동안 집필 활동이 없었지만 그간 축적된 에너지를 바탕으로 다수의 책을 쓸 계획을 가지고 집필에 임하고 있다. 벤처회사에서 개발자로 일하던 저자는 IT분야의 집필과 강의로 처음 이름이 알려졌으며, 2004년부터 지금까지 OpenGL-ES 그래픽스 라이브러리의 구현과 3D 가속 칩의 개발 및 크로노스 그룹(모바일 국제 표준화 컨소시엄)의 표준안에 관련된 일에 참여하였다. 또한 핸드폰용 DMB 칩의 개발에도 참여하였으며, 현재는 ㈜액시스소프트의 CTO로 있으면서 웹 기반 솔루션 개발에 관심을 갖고 있다.

Table of Contents
목차 머리말 = 3 온라인 강의 안내 = 8 목차 = 10 Part 1. 네트워크 프로그래밍의 시작 = 18 1. 네트워크 프로그래밍과 소켓의 이해 = 19 1-1 네트워크 프로그래밍의 이해 = 21 1-2 소켓 이해하기 = 22 1-3 파일 조작하기 = 29 1-4 윈도우즈 기반으로 구현하기 = 38 2. 소켓의 생성과 프로토콜의 설정 = 51 2-1 프로토콜의 정의 = 53 2-2 소켓의 생성 = 54 2-3 프로토콜 체계(Protocol Family) = 54 2-4 소켓의 타입 = 55 2-5 프로토콜의 선택 = 59 2-6 윈도우즈 기반으로 구축하기 = 61 3. 주소 체계와 데이터 정렬 = 65 3-1 Internet Address = 67 3-2 Port란 무엇인가? = 69 3-3 주소 정보의 표현 = 70 3-4 네트워크 바이트 순서 = 73 3-5 인터넷 주소 조작하기 = 77 3-6 인터넷 주소 초기화 = 82 3-7 주소 정보 할당하기 = 84 3-8 윈도우즈 기반으로 구현하기 = 87 3-9 WSAStringToAddress & WSAAddressToString = 92 4. TCP 기반 서버/클라이언트 1 = 97 4-1 TCP/UDP에 대한 이해 = 99 4-2 TCP 기반 서버의 구현 = 104 4-3 TCP 기반 클라이언트의 구현 = 110 4-4 TCP 서버/클라이언트 함수 호출 관계 = 113 4-5 Iterative 서버의 구현 = 115 4-6 에코(echo) 서버/클라이언트의 구현 = 117 4-7 윈도우즈 기반으로 구현하기 = 122 5. TCP 기반 서버/클라이언트 2 = 127 5-1 에코 클라이언트! TCP 기반에서의 완벽 구현 = 129 5-2 경계(Boundary)가 없는 TCP 기반의 데이터 전송 = 132 5-3 TCP의 내부 구조 = 139 5-4 윈도우즈 기반으로 구현하기 = 143 6. UDP 기반 서버/클라이언트 = 145 6-1 UDP에 대한 이해 = 147 6-2 UDP 기반 서버/클라이언트의 구현 = 149 6-3 데이터의 경계(Boundary)가 존재하는 UDP 소켓 = 156 6-4 connect 함수 호출을 통한 성능의 향상 = 161 6-5 윈도우즈 기반으로 구현하기 = 164 7. 소켓 연결의 우아한 종료 = 169 7-1 소켓 연결 종료의 문제점 = 171 7-2 우아한 소켓의 연결 종료 = 173 7-3 윈도우즈 기반으로 구현하기 = 180 8. 도메인 이름과 인터넷 주소 = 187 8-1 DNS(Domain Name System) = 189 8-2 IP 주소와 도메인 이름 사이의 변환 = 191 8-3 윈도우즈 기반으로 구현하기 = 198 9. 소켓의 다양한 옵션 = 203 9-1 소켓의 옵션 = 205 9-2 SO_SNDBUF & SO_RCVBUF = 208 9-3 SO_REUSEADDR = 212 9-4 TCP_NODELAY = 218 9-5 윈도우즈 기반으로 구현하기 = 221 10. 멀티태스킹 기반의 서버구현 = 225 10-1 다중 접속 서버의 구현 방법들 = 227 10-2 프로세스(Process)의 생성 = 228 10-3 프로세스 & 좀비(Zombie) 프로세스 = 231 10-4 시그널(Signal) 핸들링 & 좀비(Zombie) 프로세스 = 239 10-5 fork 함수를 이용한 다중 접속 서버의 구현 = 250 10-6 TCP 입·출력 루틴(Routine) 분할하기 = 256 11. 프로세스간 통신(IPC) = 261 11-1 프로세스간 통신(Inter-Process Communication) = 263 11-2 가위 바위 보 게임 구현하기 = 271 12. IO 멀티플렉싱(multiplexing) = 279 12-1 I/O 멀티플렉싱 기반의 서버 = 281 12-2 select 함수 사용하기 = 284 12-3 멀티플렉싱 서버의 구현 = 293 12-4 윈도우즈 기반으로 구현하기 = 297 13. 고급 소켓 입·출력 함수 = 303 13-1 recv & send 입·출력 함수 = 305 13-2 readv & writev 입·출력 함수 = 317 13-3 윈도우즈 기반으로 구현하기 = 323 14. Multicast & Broadcast = 327 14-1 멀티캐스트(Multicast) = 329 14-2 브로드캐스트(Broadcast) = 336 14-3 윈도우즈 기반으로 구현하기 = 341 Part 2. 리눅스 기반 프로그래밍 = 346 15. 소켓과 표준 입·출력 = 347 15-1 표준 입·출력 함수의 장점 = 349 15-2 표준 입·출력 함수의 사용 = 354 15-3 소켓 기반의 표준 입·출력 함수의 사용 = 359 16. 입력과 출력 스트림의 완벽 분리 = 365 16-1 스트림의 분리 = 367 16-2 파일 디스크립터의 복사와 스트림의 분리 = 374 17. 멀티쓰레드 기반의 서버구현 = 383 17-1 프로세스(Process)와 쓰레드(Thread) = 385 17-2 쓰레드 생성하기 = 387 17-3 임계 영역 & 쓰레드의 문제점 = 398 17-4 동기화(Synchronization) = 403 17-5 뮤텍스(Mutex) = 403 17-6 세마포어(Semaphore) = 409 17-7 쓰레드 기반 서버 구현하기 = 416 Part 3. 윈도우즈 기반 프로그래밍 = 422 18. 윈도우즈 기반 쓰레드 사용하기 = 423 18-1 커널 오브젝트(Kernel Objects) = 425 18-2 윈도우즈 기반의 쓰레드 생성 = 427 18-3 Signaled & Non-Signaled 커널 오브젝트 = 433 18-4 멀티 쓰레드 프로그래밍의 문제점 = 437 19. 윈도우즈 기반의 쓰레드 동기화 = 441 19-1 쓰레드 동기화 기법의 분류 = 443 19-2 CRITICAL_SECTION = 446 19-3 Mutex(Mutual Exclusion) = 450 19-4 Semaphore = 455 19-5 Event = 459 19-6 멀티 쓰레드 기반의 서버구현 = 464 20. 비동기 Notification 입·출력 모델 = 471 20-1 비동기 Notification의 의미 = 473 20-2 WSAEventSelect 모델 기반 서버 구현을 위한 API = 475 20-3 WSAEventSelect 모델 기반의 에코 서버 구현 = 480 21. Overlapped 입·출력 모델 = 487 21-1 Overlapped 입·출력의 의미 = 489 21-2 Overlapped 입·출력을 위한 기본 단계 = 490 21-3 Event 커널 오브젝트 기반의 Overlapped I/O = 493 21-4 Completion Routines 기반의 Overlapped I/O = 500 22. Completion Port 입·출력 모델 = 505 22-1 Completion Port 입·출력 기본 원리 = 507 22-2 Completion Port 입·출력을 위한 기본 단계 = 509 22-3 Completion Port 입·출력 기반의 서버 구현 = 513 Part 4. 네트워크 프로그래밍 마무리하기 = 518 23. HTTP 서버 제작하기 = 519 23-1 HTTP(Hypertext Transfer Protocol)의 개요 = 521 23-2 Simple 웹 서버 구현하기 = 525 24. 앞으로 해야 할 것들 = 535 24-1 Network Programming과 System Programming은 같다 = 537 24-2 Network와 Protocol를 알아야 한다 = 538 24-3 Windows와 Linux를 더불어 사랑하자 = 539