[정리] 네트워크(Network)

2022. 8. 17. 17:39·🚀 from error to study/Java

*네트워크: 여러 대의 컴퓨터들이 연결되어 있는 통신망

=> 네트워크를 통해 서로 데이터 교환 가능

 

IP포트: 컴퓨터의 주민번호, 같은 네트워크 내에서 중복 불가

port번호: 컴퓨터 안에서 작동하는 프로그램의 번호, 같은 컴퓨터 내에서 중복 불가

서버: 클라이언트에게 서비스를 제공하는 pc 또는 프로그램

=> 클라이언트의 요청을 처리해서 응답하는 역할이므로 요청이 들어오기 전까지 항상 대기 상태 유지

클라이언트: 서버에 요청하는 pc 또는 프로그램

=> 서버에 요청하기 위해 서버의 IP주소, port번호를 알고 있어야 함

 

<클래스와 메소드 정리>

InetAddress 클래스: 네트워크 정보(IP주소 관련)를 확인할 수 있는 클래스

localhost: 지역호스트를 뜻하며, 내 PC를 지칭

.getLocalHost() 메소드: 내 PC에 대한 정보를 반환해 주는 메소드

=> InetAddress 형태로 반환

.getHostName() 메소드:  내 PC명 반환

.getHostAddress() 메소드: 내 IP주소 반환

 

InetAddress localhost = InetAddress.getLocalHost();

System.out.println(localhost);
// 내 pc명 + "/" + 내 IP주소 반환

System.out.println(localhost.getHostName());
// 내 pc명 반환

System.out.println(localhost.getHostAddress());
// 내 IP주소 반환

 

.getByName() 메소드: 도메인 주소라는 고유한 주소를 통해서 해당 서버 PC의 정보를 얻어내서 반환

=> InetAddress 형태로 반환

=> 내 주소뿐 아니라 다른 사이트의 정보도 알아볼 수 있음

InetAddress googleHost = InetAddress.getByName("www.google.com");

System.out.println(googleHost.getHostName());
// 구글 서버명 반환

System.out.println(googleHost.getHostAddress());
// 구글 IP주소 반환

System.out.println(googleHost.length);
// 구글 서버 개수 반환

 

*웹에서의 통신 방식은 http 프로토콜 통신=> https는 http에 보안 절차가 추가된 버전임

 

서버와 클라이언트의 통신을 위해서는 "스트림"이 필요하고,스트림을 연결하기 위한 "소켓"도 필요함

 

*소켓 프로그래밍- TCP 방식: 데이터 전송 속도가 느리지만 데이터를 정확하고 안정적으로 전달 가능함- UDP 방식: 데이터 전송 속도를 빠르나 신뢰성이 없는 데이터가 전송될 수 있음

저작자표시 (새창열림)
'🚀 from error to study/Java' 카테고리의 다른 글
  • [실습문제 / for문] 입력받은 문자열이 배열의 값과 일치할 때, 일치하지 않을 때를 나누어 1번만 출력하는 법
  • [문법] .length, .length()의 차이
  • [문법] 향상된 for문
  • [정리] IO(입출력)
천재강쥐
천재강쥐
  • 천재강쥐
    디버거도 버거다
    천재강쥐
  • 전체
    오늘
    어제
    • Category (467)
      • 진짜 너무 궁금한데 이걸 나만 몰라...? (0)
      • 💾 Portfolio (2)
      • 🐤 CodingTest (28)
        • Java (20)
        • ᕕ(ꐦ°᷄д°᷅)ᕗ❌ (5)
      • 🚀 from error to study (142)
        • AI (1)
        • Cloud (2)
        • DB (12)
        • Front-End (16)
        • Github (14)
        • Java (39)
        • Mac (7)
        • Normal (29)
        • Server (22)
      • 📘 certificate (44)
        • 📘 리눅스마스터1급 (1)
        • 📘⭕️ 정보처리기사 (40)
        • 📘⭕️ SQLD (3)
      • 📗 self-study (234)
        • 📗 inflearn (35)
        • 📗 생활코딩 (8)
        • 📗 KH정보교육원 당산지원 (190)
      • 🎨 Scoop the others (0)
        • 📖 Peeking into other people.. (0)
        • 🇫🇷 (0)
        • 📘⭕️ 한국사능력검정시험 심화 (11)
        • 오블완 (4)
  • 인기 글

  • hELLO· Designed By정상우.v4.10.1
천재강쥐
[정리] 네트워크(Network)
상단으로

티스토리툴바