반응형
Notice
Recent Posts
Recent Comments
Link
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

지식조각모음

16. 네트워킹 본문

책/자바의 정석

16. 네트워킹

y00 2022. 4. 14. 21:05
반응형
  • 네트워킹: 두 대 이상의 컴퓨터를 케이블로 연결하여 네크워크를 구성하는 것
  • 클라이언트: 서비스를 사용하는 컴퓨터
    • 서버로부터 서비스를 제공받기 위해서는 웹브라우저, FTP 클라이언트 프로그램 등이 필요
  • 서버: 서비스를 제공하는 컴퓨터
    • FTP 서버 프로그램, Tomcat 같은 웹서버 프로그램을 설치하여 서버 역할 수행
  • 서비스: 서버가 클라이언트로부터 요청받은 작업을 처리하여 결과를 제공하는 모든 것

IP 주소

  • 컴퓨터를 구별하는 고유한 값
  • 4byte 정수로 구성
  • 네트워크 주소와 호스트 주소로 구분
    • 네트워크 주소가 차지하는 자리수가 많을수록 호스트 주소의 범위가 줄어든다
  • 네트워크 주소가 같다 = 같은 네트워크에 포함되어 있다
  • IP주소와 서브넷 마스크를 비트연산자 '&'로 연산하면 네트워크 주소를 알 수 있음

URL

인터넷에 존재하는 여러 서버들이 제공하는 자원에 접근할 수 있는 주소를 표한하기 위한 것
http://www.codechobo.com:80/sample/hello.html?referer=codechobo#index1

  • 프로토콜: 자원에 접근하기 위해 서버와 통신하는데 사용되는 통신 규약(http)
  • 호스트명: 자원을 제공하는 서버의 이름(www.codechobo.com)
  • 포트번호: 통신에 사용되는 서버의 포트번호(80)
  • 경로명: 접근하려는 자원이 저장된 서버상의 위치(/sample/)
  • 파일명: 접근하려는 자원의 이름(hello.html)
  • 쿼리: URL에서 '?'이후의 부분(refere=codechobo)
  • 참조: URL에서 '#'이후의 부분(index1)

URLConnection 클래스

  • URL 클래스 만들기
URL url = new URL("http://www.djWjrhwjWJrh.com/sample/hello_world.html");
  • URLConnection 클래스: 어플리케이션과 URL간의 통신연결을 나타내는 추상클래스. 연결하고자하는 자원에 접근하여 읽고 쓰기가 가능하다

TCP와 UDP

  • 소켓: 프로세스 간의 통신에 사용되는 양쪽 끝단(endpoint)
  • TCP/IP 프로토콜: 이기종 시스템간의 통신을 위한 표준 프로토콜
  TCP UDP
연결방식 연결 기반 비연결 기반
특징 데이터의 경계를 구분 안함(byte-stream)
신뢰성 있는 데이터 전송
데이터의 경게를 구분함(datagram)
신뢰성 없는 데이터 전송
관련 클래스 Socket, ServerSocket DatagramSocket, DatagramPacket, MulticastSocket

TCP 소켓 프로그래밍

  1. 서버 프로그램은 클라이언트의 연결요청을 처리할 준비를 한다(서버소켓)
  2. 클라이언트 프로그램은 접속할 서버의 IP주소와 포트 정보로 소켓을 생성해서 서버에 연결 요청
  3. 서버 소켓은 클라이언트의 연결 요청이 들어오면 새로운 소캣을 만들어서 클라이언트 소켓과 연결
    • 클라이언트의 연결요청마다 새로운 소켓을 생성한다
    • 포트와 결합되어 있으며 포트를 독점한다
  4. 일대일 통신 가능(소켓과 소켓의 연결)
    • 실제 데이터 통신이 일어나는 곳
    • 입출력 스트림을 통해 데이터를 주고 받는다

Socket과 ServerSocket

  • socket: 프로세스간의 통신 담당. InputStream, OutputStream을 가지며 이 스트림을 통해 프로세스간의 통신이 이루어짐
  • serverSocket: 포트와 연결되어 외부의 연결요청이 들어오면 소켓을 생성

UDP 소켓 프로그래밍

DatagramSocket과 DatagramPacket을 사용

  • DatagramPacket: 헤더와 데이터로 구성
    • 헤더: DatagramPacket을 수신할 호스트의 정보 저장
  • DatagramSocket: DatagramPacket에 지정된 주소
반응형

' > 자바의 정석' 카테고리의 다른 글

15. 입출력  (0) 2022.04.09
14. 람다와 스트림  (2) 2022.04.09
13. 스레드  (2) 2022.03.30
12. 제네릭스, 열거형, 애너테이션  (0) 2022.03.13
Comparator와 Comparable  (1) 2022.03.10