상세 컨텐츠

본문 제목

얇지만 얇지 않은 TCP/IP 소켓 프로그래밍 2판

전체 출간 도서

by 비제이퍼블릭 2009. 11. 5. 11:10

본문

책 제목 앞부분의 ' 얇지만 얇지 않은'은 '초이스 시리즈'와 더불어 저희 비제이퍼블릭의 새로운 시리즈 명입니다. 같은 분야의 다른 책들보다 분량이 현저히 적어 독자 여러분들이 새롭게 시도하는 분야의 첫 도서로써 부담이 없고, 분량과는 달리 내용은 그 어떤 책 보다도 알찬 책들이 이 시리즈를 위한 도서들이 될 것입니다.


『얇지만 얇지 않은 TCP/IP 소켓 프로그래밍 2판』은 '얇지만 얇지 않은' 시리즈의 첫 도서로써 국내 최초로 IPv6, C++를 다루는 소켓 프로그래밍 실용적 가이드입니다.

예약판매 바로가기
[YES24] [인터파크] [교보문고] [알라딘]

 


"C 언어와 소켓를 이용하여 20년 이상 프로그램을 개발해왔지만 여전히 이 책이 필요하다 는 것을 느꼈다. 이 책은 소켓을 가지고 C 언어 기반의 네트워크 응용 프로그램을 개발할 때 경험하게 되는 난해한 문제들과 그 해결 방안을 모두 다루고 있다." - Bobby Krupczak

다음은 세부 목차입니다.

역자서문

제 0장 시작하기 전에
2판을 내면서
1판과 다른 점들
이 책을 읽을 대상은
이 책을 읽기 위해 필요한 기반 지식
플랫폼 요구사항과 이식성
이 책으로 전문가가 되지는 않는다!
감사의 글
의견교환

제 1장 서론
1.1 네트워크, 패킷 그리고 프로토콜
1.2 주소에 대하여
 1.2.1 IP 주소의 표기법
 1.2.2 두 개의 다른 주소 버전의 처리
 1.2.3 포트 번호
 1.2.4 특별한 주소들
1.3 (도메인)네임 주소에 대하여
1.4 클라이언트와 서버
1.5 소켓이란 무엇인가?
심화학습

제 2장 TCP 소켓
2.1 IPv4 TCP 클라이언트
2.2 IPv4 TCP 서버
2.3 소켓의 생성과 해지
2.4 주소 지정
 2.4.1 범용 주소 형식
 2.4.2 IPv4 주소
 2.4.3 IPv6 주소
 2.4.4 범용 주소 스토리지
 2.4.5 이진/문자열 주소 변환
 2.4.6 소켓의 연관 주소를 얻는 법
2.5 소켓에 연결
2.6 소켓을 주소와 바인딩하기
2.7 클라이언트의 연결 요청 처리
2.8 통신
2.9 IPv6의 사용
심화학습

제 3장 도메인 네임 서비스와 주소 패밀리(IPv4-IPv6 서비스)
3.1 도메인 네임 주소를 숫자 주소로 매핑하기
 3.1.1 도메인 네임 서비스에 접근하기
 3.1.2 상세 분석
3.2 주소-범용 코드의 작성
 3.2.1 범용 TCP 클라이언트
 3.2.2 범용 TCP 서버
 3.2.3 IPv4-IPv6 상호 운용
3.3 숫자 주소에서 도메인 네임 주소 획득하기
심화학습

제 4장 UDT 소켓 사용법
4.1 UDP 클라이언트
4.2 UDP 서버
4.3 UDP 소켓을 이용한 데이터 송신 및 수신
4.4 UDP 소켓 연결
심화학습

제 5장 데이터의 송수신
5.1 정수 인코딩
 5.1.1 정수의 크기
 5.1.2 바이트 순서화
 5.1.3 부호화와 부호 확장
 5.1.4 직접 정수 인코딩 해보기
 5.1.5 TCP 소켓을 스트림으로 포장하기
 5.1.6 구조체 오버레이: 정렬과 채우기
 5.1.7 문자열과 텍스트
 5.1.8 비트 조작: 참, 거짓 값의 인코딩
5.2 메시지 생성, 프레이밍 그리고 파싱
 5.2.1 프레이밍
 5.2.2 텍스트 기반의 메시지 인코딩
 5.2.3 이진 형식의 메시지 인코딩
 5.2.4 최종 완성본
5.3 마무리
심화학습

제 6장 중급 소켓 프로그래밍
6.1 소켓 옵션
6.2 시그널(signal)
6.3 넌블로킹 입/출력
 6.3.1 넌블로킹 소켓
 6.3.2 비동기 입/출력
 6.3.3 타임아웃
6.4 멀티태스킹
 6.4.1 개별 프로세스로 클라이언트를 처리하는 모델
 6.4.2 개별 스레드로 클라이언트를 처리하는 모델
 6.4.3 제한적(constrained) 멀티태스킹
6.5 멀티플렉싱
6.6 다수의 수신자 처리
 6.6.1 브로드캐스트
 6.6.2 멀티캐스트
 6.6.3 브로드캐스트 vs 멀티캐스트
심화학습

제 7장 소켓의 내부 동작
7.1 버퍼링과 TCP
7.2 데드락의 위험성
7.3 성능 관련 사항
7.4 TCP 소켓 생명 주기
 7.4.1 연결
 7.4.2 TCP 연결의 종료
7.5 역다중화 해부
심화학습

제 8장 C++ 소켓 프로그래밍
8.1 Practical Socket 라이브러리 개요
8.2 플러스 원(+1) 서비스
 8.2.1 플러스 원(+1) 서버
 8.2.2 플러스 원(+1) 클라이언트
 8.2.3 플러스 원(+1) 서버와 클라이언트의 실행
심화학습
8.3 설문조사 프로그램
 8.3.1 설문조사 프로그램을 위한 함수
 8.3.2 설문조사 서버
 8.3.3 설문조사 플라이언트
 8.3.4 조사(Survey) 서버의 클라이언트의 실행
8.4 설문조사 프로그램 버전 2
 8.4.1 Socket Address 클래스의 사용
 8.4.2 Socket iostream 인터페이스
 8.4.3 강화된 설문조사 서버
 8.4.4 강화된 설문조사 클라이언트
 8.4.5 관리자 클라이언트
 8.4.6 강화된 설문조사 서버와 클라이언트의 실행
심화학습

제 9장(부록) 개발환경 구축
9.1 유닉스 개발환경
9.2 윈도우 개발환경
 9.2.1 윈도우 플랫폼에서 소스 코드를 수정 없이 컴파일 할 수 있는 개발환경 설정
 9.2.2 교재의 예제코드를 윈도우 버전(Winsock)으로 포팅하는 방법

찾아보기

또한 본 도서를 가지고 강의를 진행하시는 교수님 또는 강사님들을 위해서 강의자료(PPT) 또한 제공해 드리고 있으며(홈 페이지에서 요청 가능(강의자에게만 제공 가능): http://www.bjpublic.co.kr -> 교재채택 -> 강의자료) 저역자 정보는 다음과 같습니다.

저자: 마이클 도나후

마이클 도나후(Micheal J. Donahoo)는 베이어(Baylor) 대학의 부교수이며 학부와 대학원 과정에서 네트워크를 가르치고 있다. 다양한 언어의 소켓 프로그래밍과 SQL관련 책을 저술하였다.

 

저자: 케네스 칼버트

케네스 칼버트(Kenneth L.Calvert)는 켄터키(Kentucky) 대학의 교수이며 컴퓨터 네트워크에 관한 연구와 강의를 하고 있다. 20여 년 동안 TCP/IP 소켓 프로그래밍에 관련된 저술을 하고 있다.

 

역자: 유재필

그는 다년간 건국대학교에서 학부생을 대상으로 데이터 통신/네트워트 프로그래밍을 가르쳐 왔으며 C/C++를 기반으로
하는 소켓 프로그래밍 교육 경험이 풍부하다. 현재 ()엑스엔지에서 소프트웨어 총괄을 맡고 있으며 무선 네트워크와 코덱 제어를 연동하는 부분을 담당하고 있다.

 





관련글 더보기

댓글 영역