웹 개발(Back-end)/java

KH 강의 - 네트워크 프로그래밍

슈비룹바 2023. 6. 7. 17:51

(Java) 네트워크 프로그래밍

날짜: 2022년 8월 23일~26일

네트워크 

  • Server : 서비스를 제공하는 장비 또는 사람
  • Client: 제공되는 서비스를 이용하는 고객
  • IP주소: 

-네트워크 상에서 각각의 컴퓨터를 특정 지을 수 있는 고유 주소값

-주소가 겹칠 경우, 충돌한다.

  • Port 번호: 

-컴퓨터 내 특정 서비스를 구분 짓는 고유 번호

-컴퓨터 내에서 사용하기 때문에 각각 0~65535을 사용할 수 있다.

-0~1024 → Well Known port: 사용하는 프로그램들이 너무 많기 때문에 개발을 할 때,  잘 사용하지 않는다.

  • TCP / UDP: 

-TCP(Transmission Control Protocol): 신뢰성을 중시하고 성능을 상대적으로 경시

데이터 전송 여부 확인 o, 느려도 데이터의 안정성 보장 ex) 메일

-UDP( User Datagram  Protocol): 신뢰성을 상대적으로 경시하고 성능을 중시

데이터 전송 여부 확인 x, 빠른 속도이지만 손실 여부 따지지 않음. 빠른 데이터 전달이 목적

  • Socket: 네트워크 프로그램이 통신을 수행하기 위해 필요한 논리적 단말기.

실체는 없지만 Ram 속에 전기신호로 존재함.

네트워크 프로그램 간의 연결까지만 담당.

-ServerSocket: 동시 접속자들을 위한 각각의 Socket을 만들어준다.

  • Stream: 데이터를 주고 받을 수 있는 통로

하드디스크에서 Ram으로 데이터를 가져올 수 있게 만든다.

Ram으로 들어오는 방향은 input(값 받기)

Ram에서 나가는 방향은 output(값 내보내기)