Search
📕

56강. 네트워크

본 강좌에서는 자바의 네트워크 에 대해 살펴보겠습니다!

1. 학습 목표

네트워크에 대해 살펴보고 활용법을 본다.

2. 학습 내용

네트워크

3. 네트워크

원격지의 컴퓨터와 데이터를 송수신하는 것을 네트워크라고 부른다.
자바에서는 서버 프로그래밍을 할 수 있는 도구들과 클라이언트 프로그래밍을 할 수 있는 도구들을 제공한다.
제공되는 도구들을 이용해 입출력 스트림을 추출하고 추출한 스트림을 통해 데이터를 송수신하면 된다.

4. 반드시 알아야 할 용어

서버 : 서비스를 제공하는 프로그램이다. 클라이언트가 요구하는 데이터를 클라이언트로 전송하는 역할을 한다.
클라이언트 : 서비스를 받는 프로그램이다. 서버가 보낸 데이터를 바탕으로 사용자가 서비스를 이용할 수 있도록 구성해주는 역할을 한다.
IP : 컴퓨터 시스템이 가지고 있는 주소이다. 전 세계 의 컴퓨터는 전부 아이피 주소를 가지고 있다. 아이피 주소가 공인 아이피일 경우 다른 컴퓨터가 쉽게 접근해서 데이터 통신을 할 수 있다.. 공유기 등으로 연결되어 사설 아이피를 받았을 경우 외부에서의 접근을 위해서는 다른 방법을 이용해야만 한다.
포트 : 하나의 컴퓨터에서 여러 개의 네트워크 프로그램이 동시에 운영될 수도 있다. 각 프로그램 별로 데이터를 올바르게 송수신 할수 있도록 문의 역할을 해주는 것을 하나씩 할당하게 되는데 이 것이 포트이다.
소켓 : 하나의 서버에는 수십 수백의 클라이언트가 연결될 수 있는데 이런 클라이언트는 모두 같은 포트에 접속을 하게 된다. 따라서 서버는 클라이언트와 1:1의 연결 관계가 필요한데 이러한 연결 관계를 유지 시켜주는것이 소켓이다.

5. 서버 프로그래밍 시나리오

ServerSocket 객체를 생성한다. 이 때, 사용하고자 하는 포트를 할당 받게 된다.
사용자 접속을 대기한다. 접속을 대기하게 되면 일시 정지가 된다.
사용자가 접속을 성공하면 Socket 객체가 생성이된다.
생성된 소켓으로 부터 스트림을 추출한다(필요하다면 필터도 사용한다.)
데이터를 송수신한다.
모든 통신이 끝났으면 네트워크를 종료한다.

6. 클라이언트 프로그래밍 시나리오

Socket 객체를 생성한다. 이 때, 접속할 서버 컴퓨터의 아이피 주소와 포트를 입력한다. 접속에 성공을 하면 소켓 객체가 생성이 된다.
생성된 소켓으로 부터 스트림을 추출한다.(필요하다면 필터도 사용한다)
추출된 스트림으로 데이터를 송수신한다.
데이터 송수신이 완료가 되면 연결을 종료한다.

7. 학습 정리

정리
자바에서는 네트워크를 위한 여러 가지 도구가 지원된다.
서버는 ServerSocket을 먼저 생성해야 한다.
서버와 클라이언트에서 각각 소켓 객체가 생성이되면 이를 통해 스트림을 추출하고 데이터를 송수신 하면된다.