ㅇ고급자바_network 수정하기!

oungoo·2020년 10월 12일
0

JAVA_고급

목록 보기
13/19

InetAddress 클래스

  • IP주소를 다루기 위한 클래스
  • 기본생성자의 접근제한자가 default => new로 객체생성 불가함
  • 객체 생성을 위한 5개의 static 메서드 제공함

객체 생성 메서드

getByName(String host)
InetAddress naverIp = InetAddress.getByName("www.naver.com");

getAllByName(String host) : IP주소가 여러개인 호스트의 정보 가져오기
InetAddress[] naverIp = InetAddress.getAllByName("www.naver.com");

getLocalHost() : 내컴퓨터 IP주소 가져오기
InetAddress localIp = InetAddress.getLocalHost();

getByAddress(byte[] addr)
getByAddress(String host, byte[] addr)

주요 메서드

getHostName()

  • 호스트 이름을 문자열로 반환
  • 호스트이름 : 머신이름, 도메인명 또는 IP주소 문자열(host Name 없을 때)

getHostAddress()

  • 객체의 IP주소를 문자열로 반환

URL 클래스

URL : Uniform Resource Locator
인터넷에서 특정 자원의 위치

  • 인터넷에서 존재하는 서버들의 자원에 접근할 수 있는 주소를 관리하는 클래스

생성자

URL(String protocol, String host, int port, String file)
URL(String protocol, String host, String file)
URL(String urlString)

  • protocol : 프로토콜 (ex: http)
  • host : 컴퓨터이름 (ex : www.naver.com)
  • port : 포트번호 (ex: 80)
  • file : URL에 존재하는 파일 이름
  • urlString : 모든 요소를 포함한 문자열

주요 메서드

getProtocol() : http
getHost() : 호스트이름, IP
getFile()

  • port 번호 제외한 경로
  • 쿼리정보 포함

getQuery()

  • ? 뒤~ # 전까지 &으로 연결되있는 부분

getPath()

  • 쿼리정보 미포함

getPort()

  • 포트번호 : 80이 기본

getRef()

  • 참조


URI

URI : Uniform Resource Identifier
통합자원 식별자

  • 인터넷에 있는 자원을 나타내는 유일한 주소
  • URI의 보편적인 형태가 URL
  • URI의 부분집합으로 볼수 있음

URL Connection 클래스

  • 사용자인증이나 보안이 설정되어 있지 않은 웹서버에 접속하여 파일 등을 다운로드하는데 많이 사용됨
  • 원격서버의 헤더정보, 해당 자원의 길이와 타입정보, 언어 등을 얻어 올 수 있음
  • 추상클래스
  • 생성자가 protected로 선언되어 있어 직접 객체 생성 불가함
  • URL 클래스의 openConnection() 메서드를 이용
// url 객체 생성 
URL url = new URL("https://www.naver.com/index.html");

// URLConnection 객체 생성
URLConnection urlCon = url.openConnection();
  • URLConnection클래스의 connect() 메서드 호출해야 객체 완성되지만 필수는 아님
  • 연결이 성립되야만 가능한 메서드들(ex.getInputStream, getOutputStream)은 필요하다면 암묵적으로 연결하기 때문에 connect()를 호출한 것과 같은 효과

참고

  • url과 uri
    https://velog.io/@pa324/%EA%B0%9C%EB%B0%9C%EC%83%81%EC%8B%9D-URI-URL-%EC%B0%A8%EC%9D%B4-%EC%A0%95%EB%A6%AC

  • urlConnection 클래스
    https://goddaehee.tistory.com/161
    https://docs.oracle.com/javase/8/docs/api/index.html

  • 책 p.112~

  • TCP UDP
    https://swalloow.tistory.com/77

0개의 댓글