본문 바로가기

Jbee/서평&영화&자격증

[개발] 자바 네트워크 프로그래밍 / 엘리엇 러스티 저 / 강성용 역 / O'REILLY'


자바 네트워크 프로그래밍 / O'REILLY

기본적인 네트워크 프로그래밍을 학습하는데 적합한 책이다. 조금 더 심화된 네트워크 프로그래밍 내용을 학습하기에는 이 책은 적합하지 않다. 책의 구성은 다음과 같다.


1장 기본 네트워크 개념 
네트워크  / 네트워크 계층  / IP, TCP 그리고 UDP  / 인터넷  / 클라이언트/서버 모델  / 인터넷 표준 

2장 스트림 
출력 스트림  / 입력 스트림  / 필터 스트림  / reader와 writer 

3장 스레드 
스레드 실행하기  / 스레드에서 데이터 반환하기 / 동기화 / 데드락 / 스레드 스케줄링 / 스레드 풀과 익스큐터 

4장 인터넷 주소 
InetAddress 클래스 / Inet4Address 클래스와 Inet6Address 클래스 / NetworkInterface 클래스 / 유용한 프로그램 

5장 URL과 URI 
URI  / URL 클래스 / URI 클래스 / 프록시 / GET 메소드를 사용하여 서버 측 프로그램과 통신하기 / 패스워드로 보호된 사이트 접근하기 

6장 HTTP 
프로토콜 / HTTP 메소드 / 요청 본문 / 쿠키 

7장 URLConnection 클래스 
URLConnection 열기 / 서버에서 데이터 읽기 / 헤더 읽기 / 캐시 / 연결 설정하기 / 클라이언트 요청 HTTP 헤더 설정하기 / 서버에 데이터 쓰기 / URLConnection의 보안 고려 사항 / MIME 미디어 타입 추측하기 / HttpURLConnection 클래스 

8장 클라이언트 소켓 
소켓 사용하기 / 소켓 생성과 연결 / 소켓 정보 얻기 / 소켓 옵션 설정하기 / 소켓 예외 / GUI 애플리케이션에서 소켓 

9장 서버 소켓 
ServerSocket 사용하기 / 로그 남기기 / 서버 소켓 만들기 / 서버 소켓 정보 가져오기 / 소켓 옵션 / HTTP 서버 

10장 보안 소켓 
보안 통신 / 보안 클라이언트 소켓 만들기 / 암호화 조합 선택하기 / 이벤트 핸들러 / 세션 관리 / 클라이언트 모드 / 보안 서버 소켓 만들기 / SSLServerSocket 설정하기 

11장 논블럭 I/O 
예제 클라이언트 / 예제 서버 / 버퍼 / 채널 / 준비된 것 선택하기 

12장 UDP 
UDP 프로토콜 / UDP 클라이언트 / UDP 서버 / DatagramPacket 클래스 / DatagramSocket 클래스 / 소켓 옵션 / 유용한 애플리케이션들 / DatagramChannel 클래스 

13장 IP 멀티캐스트 
멀티캐스팅 / 멀티캐스트 소켓 다루기 / 간단한 두 예제 



책의 절반은 네트워크 기본 개념에 대한 설명을 하고 있고 중간에 Java 언어에 대한 이야기도 조금 나오고 HTTP에 대한 설명을 한다. 그리고 나서야 네트워크 프로그래밍 이야기가 절반을 차지한다. 책의 두께가 두꺼워질 수 밖에 없는 방대한 내용을 다루고 있다. 때문에 내용의 깊이가 얕다. 어느 무엇 하나를 제대로 학습할 수 있는 책은 아니었고, 네트워크의 기본 개념을 정리하고 이 네트워크 내용을 어떻게 자바라는 언어로 프로그래밍 되는지 경험할 수 있는 정도이다.


그렇다고 네트워크에 대한 기본 개념이 없이 이 책을 보고 시작하려면 부족할만큼 설명이 빈약하다. 자바라는 언어를 모르고 접근하기란 더욱 쉽지 않다. 자바 프로그래밍 언어로 설명된 네트워크 프로그래밍 부분(책의 뒷부분)이라도 내용이 충실했어야 했는데, 그렇지 못했다. 오히려 '이것은 자바다'라는 자바 기본서 2권에 나오는 네트워크 프로그래밍 부분이 설명이 더 잘되어 있다. 책의 제목만큼 많은 내용을 다뤘지만 깊이가 있지 못했고 그 설명이 빈약하여 아쉬움이 남는 책이었다.


끝.