반응형
네트워크 개요
1. IP Address
IP Address란?
- 인터넷에 접속 가능한 컴퓨터들을 구분하기 위해 부여한 숫자 주소
- 0~255사이틔 10진수 4개로 구성됨(4바이트)
2. TCP/UDP Port
TCP/UDP Port
- TCP : Transmission Control Protocol Port
- UDP : User Datagram Protocol Port
- 컴퓨터 상호간에 통신을 위해 IP주소와 포트가 필요하다.
- 포트는 하나의 IP Address 내에 개별적으로 부여된 통신 프로세스이다.
- TCP와 UDP는 각각 0~65535개의 포트가 할당된다.
- TCP는 통신 단말간에 연결을 설정하고 데이터를 교환하는 방식이다.
- UDP는 통신 단말간에 연결 설정 없이 데이터를 교환하는 방식이다.
- 포트 0~1024는 시스템이 주로 사용하는 영역이므로 임의로 사용하지 않도록 한다.
- 포트는 중복 사용될 수 없으므로 이미 사용중인 포트를 재차 사용하려 할 경우 문제가 발생할 수 있다.
웹서버와의 통신
- 웹서버는 일반적으로 TCP 포트 80번을 사용하여 클라이언트의 요청을 기다린다.
- 클라이언트 프로그램은 웹 서버의 IP 주소와 포트번호를 알고 있어야 접속이 가능하다.
- 접속이 이루어지면 준비된 클래스를 이용해어 웹서버에서 보내주는 문자열을 전송 받는다.
InetAddress, URL 클래스
1. InetAddress 클래스
- IP Address에 대하여 모델링한 클래스이다.
- IP Address를 프로그래밍에 사용할 수 있도록 한다.
- 생성자가 없다.
- static 메소드인 getByName()에 의해 객체 생성되며 인자로서 호스트명 또는 IP 주소를 넘겨주어야 한다.
- 반드시 예외 처리를 해주어야 한다.
2. URL 클래스
URL 내요
- URL(Uniform Resource Locator) : 인터넷 상의 자원을 가리키는 표현 방식이다.
- URL을 이용하여 인터넷 상의 다양한 프로토콜과 자원을 표기할 수 있다.
- 구성요소 : 프로토콜://호스트주소:[포트번호]/파일#섹션
URL 클래스
메소드 | 내용 | 메소드 사용 |
String getProtocol() | 프로토콜 반환 | http |
String getHost() | 호스트명을 반환 | www.naver.com |
Int getPort() | 포트번호를 반환 | 80 |
String getFile() | 파일명을 반환 | Index.html |
String getRef() | 섹션번호를 반환 | null |
3. 예제
소켓 프로그래밍
1. Socket의 개요
소켓의 개요
- TCP/IP의 복잡한 프로토콜을 단순화시켜 네트워크 프로그램을 편리하게 작성할 수 있도록 한 API이다.
- 자바에서 소켓을 이용하려면 java.net 패키지를 import 해야한다.
- 소켓 쿨래스는 서버에 접속하기 위한 클라이언트를 구현하는 데 주로 사용한다.
2. 서버 소켓
서버 소켓
- 서버측 프로그램은 클라이언트 프로그램에서의 접속 요청을 상시 대기하고 있어야 하는데 이러한 일을 담당하는 API를 가리킨다.
- 자바에서 서버소켓의 기능은 ServerSocket 클래스에 의해 제공된다.
- ServerSocket 클래스는 특정 포트를 열어놓은 상태에서 대기하다가 클라이언트의 접속 요청이 있으면 이를 새로운 소켓으로 연결하여 처리한다.
3. 예제
반응형
'Develop > Java' 카테고리의 다른 글
JAVA 데이터베이스 프로그래밍 (0) | 2021.08.09 |
---|---|
JAVA 예외처리, 입출력 스트림 (0) | 2021.08.09 |
JAVA 애플릿 구조 및 프로그래밍 (0) | 2021.08.09 |
JAVA 멀티스레드 제어와 메소드 (0) | 2021.08.09 |
JAVA 그래픽 구조, 그래픽 메소드 (0) | 2021.08.09 |