저 자 : 김선우 / 쪽 수: 600쪽 / 크 기 : 189 * 237 * 28 mm / ISBN : 9791156646068 / 출간일 : 2022년 06월 30일 출간








목 차


Chapter 01 네트워크와 소켓 프로그래밍


01 TCP/IP 프로토콜 개요


02 소켓의 개념


03 소켓의 특징과 구조


04 소켓 프로그램 맛보기


실습 1-1 윈도우 소켓 프로그램 작성과 테스트


실습 1-2 리눅스 소켓 프로그램 작성과 테스트


요약


연습문제



Chapter 02 소켓 시작하기


01 오류 처리


02 소켓 초기화와 종료


03 소켓 생성과 닫기


실습 2-1 윈속 초기화와 종료하기


실습 2-2 소켓 생성과 닫기


요약


연습문제



Chapter 03 소켓 주소 구조체 다루기


01 소켓 주소 구조체


02 바이트 정렬 함수


03 IP 주소 변환 함수


04 DNS와 이름 변환 함수


실습 3-1 바이트 정렬 함수 연습


실습 3-2 IP 주소 변환 함수 연습


실습 3-3 이름 변환 함수 연습


요약


연습문제



Chapter 04 TCP 서버-클라이언트


01 TCP 서버-클라이언트 구조


02 TCP 서버-클라이언트 분석


03 TCP 서버-클라이언트(IPv6)


실습 4-1 TCP 서버-클라이언트 작성


실습 4-2 TCP 서버-클라이언트 테스트


실습 4-3 TCP 서버-클라이언트(IPv6) 작성과 테스트


요약


연습문제



Chapter 05 데이터 전송하기


01 응용 프로그램 프로토콜과 데이터 전송


02 다양한 데이터 전송 방식


실습 5-1 고정 길이 데이터 전송 연습


실습 5-2 가변 길이 데이터 전송 연습


실습 5-3 고정 길이 + 가변 길이 데이터 전송 연습


실습 5-4 데이터 전송 후 종료 연습


요약


연습문제



Chapter 06 멀티스레드: 윈도우


01 스레드 기초


02 스레드 API


03 멀티스레드 TCP 서버


04 스레드 동기화


실습 6-1 스레드 생성과 종료, 인수 전달 연습


실습 6-2 스레드 우선순위 변경 연습


실습 6-3 스레드 실행 제어와 종료 기다리기 연습


실습 6-4 멀티스레드 TCP 서버 작성과 테스트



실습 6-5 임계 영역 연습


실습 6-6 이벤트 연습


요약


연습문제



Chapter 07 멀티스레드: 리눅스


01 스레드 API


02 멀티스레드 TCP 서버


03 스레드 동기화


실습 7-1 스레드 생성과 종료, 인수 전달 연습


실습 7-2 스레드 우선순위 변경 연습


실습 7-3 스레드 종료 기다리기 연습


실습 7-4 멀티스레드 TCP 서버 작성과 테스트


실습 7-5 뮤텍스 연습


실습 7-6 조건 변수 연습


요약


연습문제



Chapter 08 UDP 서버-클라이언트


01 UDP 서버-클라이언트 구조


02 UDP 서버-클라이언트 분석


03 UDP 서버-클라이언트(IPv6)


04 브로드캐스팅


실습 8-1 UDP 서버-클라이언트 작성과 테스트


실습 8-2 UDP 서버-클라이언트(IPv6) 작성과 테스트


실습 8-3 UDP 브로드캐스팅 예제 작성과 테스트


요약


연습문제



Chapter 09 소켓 옵션


01 소켓 옵션의 종류와 관련 함수


02 SOL_SOCKET 레벨 옵션


03 IPPROTO_IP, IPPROTO_IPV6 레벨 옵션


04 IPPROTO_TCP 레벨 옵션


실습 9-1 SO_REUSEADDR 옵션 테스트


실습 9-2 멀티캐스팅(IPv4) 예제 작성과 테스트


실습 9-3 멀티캐스팅(IPv6) 예제 작성과 테스트


요약


연습문제



Chapter 10 GUI 소켓 응용 프로그램: 윈도우


01 GUI 응용 프로그램


02 GUI 소켓 응용 프로그램


03 대화상자 기반 응용 프로그램


04 대화상자 기반 소켓 응용 프로그램


실습 10-1 GUI 응용 프로그램 작성과 테스트


실습 10-2 GUI 소켓 응용 프로그램 작성과 테스트


실습 10-3 대화상자 기반 응용 프로그램 작성과 테스트


실습 10-4 대화상자 기반 소켓 응용 프로그램 작성과 테스트


요약


연습문제



Chapter 11 소켓 입출력 모델: 윈도우


01 소켓 입출력 모델 개요


02 Select 모델


03 WSAAsyncSelect 모델


04 Completion Port 모델


05 소켓 입출력 모델 비교


실습 11-1 넌블로킹 소켓 연습


실습 11-2 Select 모델 TCP 서버 작성과 테스트


실습 11-3 WSAAsyncSelect 모델 TCP 서버 작성과 테스트


실습 11-4 Completion Port 모델 TCP 서버 작성과 테스트


요약


연습문제



Chapter 12 소켓 입출력 모델: 리눅스


01 소켓 입출력 모델 개요


02 Select 모델


03 Poll 모델


04 EPoll 모델


05 소켓 입출력 모델 비교


실습 12-1 넌블로킹 소켓 연습


실습 12-2 Select 모델 TCP 서버 작성과 테스트


실습 12-3 Poll 모델 TCP 서버 작성과 테스트


실습 12-4 EPoll 모델 TCP 서버 작성과 테스트


요약


연습문제



Chapter 13 직렬 통신과 블루투스 통신: 윈도우


01 직렬 통신


실습 13-1 직렬 통신 프로그램 작성과 테스트


02 블루투스 통신


실습 13-2 블루투스 장치 검색 프로그램 작성과 테스트


실습 13-3 블루투스 통신 프로그램 작성과 테스트


요약


연습문제



Chapter 14 IPv4/IPv6 + TCP/UDP 지원 데이터 전송 프로그램


01 프로젝트 개요


02 응용 프로그램 작성


실습 14-1 IPv4/IPv6 + TCP/UDP 지원 서버 작성


실습 14-2 IPv4/IPv6 + TCP/UDP 지원 클라이언트 작성


03 서버 코드 분석: 윈도우


04 서버 코드 변환: 리눅스


05 클라이언트 코드 분석


06 추가 구현 사항