[JAVA] Network 한눈에 보기(URL, InetAddress, Socket, DatagramSocket 등) :: 소림사의 홍반장!

1. 짚고가야 할 주요 용어

 (1) 네트워크(NETWORK)란?
    - 컴퓨터 Network은 서로 다른 장소에 있는 컴퓨터 시스템들을 서로 연결하는 데이터 통신 시스템을 말한다.

 

(2) 프로토콜(PROTOCOL)이란 ?
    - 통신할 때의 데이터를 구분 하기 위한 꼬리표(통신규약 - 언어)

 

(3) PORT란?
    - 컴퓨터의 출입구(랜선)에 들어있는 통신 통로 (65000 여개)

 

(4) 패킷이란?
    - 데이터를 전송하기 위한 최소 전송단위 (크기가 다를 수 있다)

 

(5) URL 이란?
    - Uniform Resource Locator.
    - 네트웍상의 리소스(자원)의 위치 정보

 

(6) 통신이란?
    - 네트웍상의 컴퓨터의 데이터 교류 (Give & Take)

 

(7) OSI 7Layer란?
    - 두 대 이상의 컴퓨터 사이의 통신 단계를 7가지로 나누어 놓은 것 (논리적인 단위)   

 

 

 

 


 

2. 주요 클래스
 (1) URL
  <1> 기능 : URL 클래스를 이용하면 네트웍상의 접속한 컴퓨터의 프로토콜, 호스트, 포트번호, 파일등의 정보를 알 수 있다.
  
  <2> 주요 메소드
   - getProtocol()
   - getHost()
   - getPort()
   - getFile()
   - getPath()

 

    * 참고하기 : 2012/09/06 - [Dev. 자바/API 및 이론] - [JAVA API] java.net.URL


  

 


 (2) URLConnection 
  <1> 기능 : 객체 생성시 URL의 자원과 연결이 되어지기 때문에 자원의 구체적인 Content정보를 알 수 있다. 

 

  <2> 용도 : Post방식으로 데이터를 먼저 보내고 그 결과를 받기 위해서는 URLConnection클래스를 이용해야 한다.
  
  <3> 주요 메소드
   - getContentType()
   - getContentLength()
   - getInputStream()
   - getOutputStream()

 

 

 

(3) InetAddress
  <1> 기능 : 네트웍 호스트에 대한 IP을 알아 낼 수 있다.
  
  <2> 주요 메소드
   - getByName()
   - getHostName()
   - getHostAddress()
   - getLocalHost()
   - getAllByName()

 

 

 

 

3. 통신방식

 (1) TCP기반의 Socket통신

  <1> 연결 지향 통신 방식
  <2> 전화에 비유 (신뢰적)
  <3> ServerSocket, Socket 을 이용해서 프로그램
  <4> 프로그램 절차
   <<Server 측>>          <<Client 측>>
   ServerSocket ss
   ss.accept()
   Socket s   <-------------->   Socket s
          IO 객체를 이용
  <5> 사용예 : 채팅, 실시간 데이터 전송, 메신져, 네트웍 게임

 

 (2) UDP방식의 DatagramSocket 통신
  <1> 비연결 지향 통신 방식
  <2> 편지에 비유 (비신뢰적)
  <3> DatagramSocket, DatagramPacket 을 이용해서 프로그램
  <4> 프로그램 절차
   <<Server 측>>          <<Client 측>>
   DatagramSocket ds        DatagramSocket ds
   DatagramPacket dp        DatagramPacket dp
   ds.receive(dp); <----------------- ds.send(dp);
  <5> 사용예 : 인터넷 방송

 

 

 

 

 

다른 카테고리의 글 목록

Dev. 자바/API 및 이론 카테고리의 포스트를 톺아봅니다