목차
Chapter 01. 네트워크 = 19
1. 인터넷의 역사 = 20
2. TCP/IP의 구조 = 20
3. 주소 = 23
4. 네트워크 모델 = 26
학습정리 = 27
연습문제 = 28
Chapter 02. 메모장 만들기 = 29
1. 프로젝트 개요 = 30
2. 1단계 : 파일로부터 InputStream 객체를 생성해 내용을 읽어오는 프로그램을 작성해본다 = 31
3. 2단계 : 메모장의 인터페이스를 AWT로 구현한다 = 34
4. 3단계 : 메모장의 저장과 불러오기 기능을 Reader 클래스와 Writer 클래스 객체를 사용하여 구현한다 = 38
학습정리 = 49
연습문제 = 50
Chapter 03. 에코 서버/클라이언트 만들기 = 51
1. 프로젝트 개요 = 52
2. 1단계 : 한 번에 하나의 클라이언트의 접속을 허용하는 서버와 클라이언트 구현한다 = 53
3. 2단계 : 쓰레드를 사용해 동시접속자 처리를 하는 에코 서버를 구현한다 = 62
4. 3단계 : 쓰레드 풀을 이용한 에코 서버를 구현한다 = 67
학습정리 = 76
연습문제 = 77
Chapter 04. 호스트 주소 조회 서버/클라이언트 만들기 = 79
1. 프로젝트 개요 = 80
2. 1단계 : InetAddress 클래스를 사용하여 주소정보를 얻어온다 = 82
3. 2단계 : DatagramSocket 클래스를 사용하여 주소정보를 조회하는 클라이언트를 구현한다 = 85
4. 3단계 : 주소정보를 조회하여 회신하는 서버를 구현한다 = 89
학습정리 = 96
연습문제 = 97
Chapter 05. 멀티캐스트 화이트보드 만들기 = 99
1. 프로젝트 개요 = 100
2. 1단계 : 화이트보드 프로그램의 사용자 인터페이스를 설계/구현한다 = 101
3. 2단계 : 화이트보드 프로그램의 Canvas의 이벤트를 처리한다 = 107
4. 3단계 : 도형의 정보를 멀티캐스트 소켓을 사용해 송수신하는 클래스를 구현한다 = 115
학습정리 = 126
연습문제 = 127
Chapter 06. 웹 문서 저장 프로그램 만들기 = 129
1. 프로젝트 개요 = 130
2. 1단계 : 웹 페이지 저장 프로그램의 사용자 인터페이스를 구현한다 = 131
3. 2단계 : URL 클래스와 URL Connection 클래스의 메서드를 사용해 정보를 출력한다 = 134
4. 3단계 : URL 클래스로부터 스트림을 열어 저장하는 코드를 구현한다 = 140
학습정리 = 152
연습문제 = 153
Chapter 07. 파일 자동 업데이트 프로그램 만들기 = 155
1. 프로젝트 개요 = 156
2. 1단계 : 소켓과 객체 스트림을 사용하여 자동 파일 업데이트 서버와 클라이언트를 구현한다 = 157
3. 2단계 : RMI를 사용하여 파일 자동 업데이트 서버를 구현한다 = 164
4. 3단계 : RMI를 사용하여 파일 자동 업데이트 클라이언트를 구현한다 = 170
학습정리 = 180
연습문제 = 181
Chapter 08. P2P 파일 공유 프로그램 만들기(1) = 183
1. 프로젝트 개요 = 184
2. 1단계 : 파일 공유 프로그램의 사용자 인터페이스를 구현한다 = 186
3. 2단계 : byte 배열을 Base64 인코딩 하는 클래스를 구현한다 = 193
4. 3단계 : P2P 파일 공유 프로그램이 호스트 정보 관리 서버에 접속하여 호스트 ID를 받아오도록 구현한다 = 201
학습정리 = 219
연습문제 = 220
Chapter 09. P2P 파일 공유 프로그램 만들기(2) = 221
1. 프로젝트 개요 = 222
2. 1단계 : 안전한 데이터 교환을 위해 사용할 DES 비밀키 생성 모듈을 구현한다 = 224
3. 2단계 : P2P 방식의 파일 검색 기능을 구현한다 = 238
4. 3단계 : 검색된 파일을 다운로드하는 기능을 구현한다 = 262
학습정리 = 288
연습문제 = 289
Chapter 10. 웹 서버 만들기(1) = 291
1. 프로젝트 개요 = 292
2. WWW(World Wide Web) = 292
3. HTTP(Hyper Text Transfer Protocol) = 293
4. HTTP 요청(HTTP Request) = 294
5. HTTP 응답(HTTP Response) = 297
6. MIME(Multipurpose Internet Mail Extensions) = 298
7. URI(Uniform Resource Identifier) = 299
8. 웹페이지 리더 = 300
학습정리 = 304
연습문제 = 305
Chapter 11. 웹 서버 만들기(2) = 307
1. 프로젝트 개요 = 308
2. 1단계 : 웹 서버의 쓰레드풀을 구현한다 = 310
3. 2단계 : 자바에서 제공하는 입력 스트림 클래스를 상속해 요청 라인을 분석하는 클래스를 구현한다 = 315
4. 3단계 : 2단계에서 구현한 클래스에 요청 헤더와 본문을 분석하는 내용을 구현한다 = 325
학습정리 = 334
연습문제 = 335
Chapter 12. 웹 서버 만들기(3) = 337
1. 프로젝트 개요 = 338
2. 1단계 : HTTP 클래스 완성하기 = 339
3. 2단계 : 처리 결과를 웹브라우저로 전송하기위한 출력 스트림 클래스를 구현한다 = 345
4. 3단계 : HTTP 요청을 처리하는 클래스들의 인터페이스와 파일을 처리하기위한 클래스를 구현한다 = 349
학습정리 = 355
연습문제 = 356
Chapter 13. 웹 서버 만들기(4) = 357
1. 프로젝트 개요 = 358
2. 1단계 : 스크립트를 처리하기 위한 클래스를 구현한다 = 358
3. 2단계 : HTTP 요청을 웹브라우저에 출력해주는 스크립트를 구현한다 = 363
학습정리 = 373
연습문제 = 374