본문 바로가기
Java | spring/Java Basic

Java 네트워크 프로그래밍 : 용어, TCP/UDP

by 워니 wony 2019. 5. 8.

네트워크 프로그래밍

==> 서로 멀리 떨어진 두대이상의 컴퓨터가 서로 데이터를 주고 받는 프로그래밍(원격지의)

 

자바는 네트워크 프로그래밍을 위하여 java.net 패키지에 관련 클래스를 제공한다.

https://docs.oracle.com/javase/8/docs/api/java/net/package-summary.html

 

java.net (Java Platform SE 8 )

Interface Summary  Interface Description ContentHandlerFactory This interface defines a factory for content handlers. CookiePolicy CookiePolicy implementations decide which cookies should be accepted and which should be rejected. CookieStore A CookieStore

docs.oracle.com

 

 

용어 정리

  • ip Address : 인터넷 상의 컴퓨터 중에 특정 컴퓨터를 구별하기 위한 식별자. 유일한 컴퓨터를 구별하기 위해 사용
    cf) ip주소확인법 : cmd에서 c:/> ipconfig
     
  • Domain Name : 어떤 서비스를 제공하는 서버의 아이피 주소를 기억하기 어렵기 때문에, 숫자를 대신하는 문자로 이용하도록 한다. 그것을 Domain Name 이라고 한다.

 

  • port 번호 : 하나의 컴퓨터에서 2 이상의 네트워크 프로그램이 동시 실행 있다.(카톡이나 네이트온 둘다 실행 가능) 그러면, 하나의 컴퓨터에서 프로그램들을 구별하기 위한 식별자가 필요하다. 그것의 역할이 port 번호이다.
     
  • Server : 서비스를 제공하는 컴퓨터 혹은 프로그램
  • Client : 서비스를 제공받는 컴퓨터 혹은 프로그램

 

네트워크 통신

- 서로 데이터를 주고 받는

 

네트워크 통신 2가지 방법

  • TCP 방식
    • 마치 우리 생활의 전화로 통신하는 것과 같은 방식
    • 상대방이 받을 준비가 되면 서로 말을 있다.
    • 이와 같은 방식으로 멀리 떨어져 있는 두대의 컴퓨터가 서로 통신을 위해 서로 연결을 맺을 연결 회선을 통해 데이터를 주고 받는다. 먼저 연결을 하고 상대방이 데이터를 받을 준비가 상태에서 통신하기 때문에 데이터를 잃어 버릴 염려가 적다.
    • (장점) 신뢰성이 높다. 보장된다.
    • (단점) 그러나 언제나 네트워크 연결이 되어 있어야 한다
      네트워크
      부담이 된다.
    • 자바, TCP 방식을 위해 ServerSocket, Socket 클래스 제공
       
  • UDP 방식
    • 편지를 주고 받는 방식과 유사
    • 상대방과 연결을 맺은 통신 하는 것이 아니라 상대방의 데이터를 받을 준비가 되었는지 확인하지 않고 데이터를 보내는 방식. 때에 따라 데이터를 잃어 버릴 염려가 있다. 상대방과 연결을 맺지 않고 통신하기 때문에 보내고자 하는 데이터와 데이터가 어디로 가야 할지 목적지를 하나의 세트로 만들어야 한다. 그것을 패킷이라고 한다. 그래서 UDP 방식의 통신은 패킷 단위로 통신이 이루어 진다.
    • (장점) 언제라도 네트워크 연결이 되어 있어도 된다.
      네트워크 부담이 낮다
    • (단점) 신뢰성이 낮다, 보장 안된다.
    • 자바, UDP방식을 위해 DataGramSocket, DataGramPacket 클래스를 제공
반응형

댓글