네트워크 프로그래밍의 체계적인 학습
다양한 소프트웨어 프레임워크를 사용해 손쉽게 결과물을 만들어낼 수도 있지만
저수준의 기술을 아예 모르면 문제 발생 시 대처하는 데 한계가 있습니다.
이 책은 통신 기능을 가진 모든 소프트웨어 프레임워크의 저수준 기술에 해당하는
네트워크 프로그래밍 기법을 바닥부터 제대로 다질 수 있는 책입니다.
준비 → 기본 → 심화 → 프로젝트 순으로 점진적으로 학습할 수 있고,
서로 다른 운영체제와 언어 환경에 적용할 수 있게 구성되어 있습니다.
※ 본 도서는 대학 강의용 교재로 개발되었으므로 연습문제 해답은 제공하지 않습니다.
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 추가 구현 사항
자료명 | 등록일 | 다운로드 |
---|---|---|
예제소스 | 2022-07-06 | 다운로드 |