본문 바로가기
개발자 꿈나무의 하루/01_Boot Camp

(네이버클라우드 부트캠프) 45일차 - 실습프로젝트(네트워킹)

by kk_naks 2024. 7. 30.

네트워크

네트워크 기본개념

네트워크의 개념

    • 클라이언트 : UI를 처리하고 업무 처리 로직을 처리하며 해당 업무를 서버에 요청하는 객체
    • 서버 : 데이터를 처리 하고 파일 입출력을 담당 요청에 응답하는 객체
image

네트워크 사용법

    • 클라이언트 : Socket을 생성하여 통신
    • 서버 : ServerSocket을 생성하고 Socket을 통해 통신
    • 실제 데이터 전송은 OutStream -> 랜카드 -> InputStream으로 이루어진다.
image

네트워크 클래스 사용법

ServerSocket/Socket

    • ServerSocker : 서버에서 받을 입구 생성
    • port번호 : 통신 식별 변호
    • 대기열크기 : 클라이언트 최대 접속수
    • 서버측 포트 번호는 App에서 설정한다.
    • Socket : 입구에 대한 위치
import java.net.ServerSocket;
// 소켓 설정
ServerSocket serverSocket = new ServerSocket((int) 포트번호,(int) 대기열크기);
System.out.println("서버 실행중...");
// 소켓 접속
Socket socket = serverSocket.accept();
System.out.println("클라이언트 접속");

Socket

    • Socker : 서버로 들어갈 주소 설정
    • IP주소 : 포트 전까지 컴퓨터의 위치
    • 클라이언트측 포트 번호는 운영체제가 저장한다.
    • IP주소는 건물의 주소, 포트번호는 상세 주소라고 생각하면 된다.
    • IP주소: 서울 강남구 강남대로94길 20 삼오빌딩
    • 포트번호: 5층 비트캠프 501호
import java.net.ServerSocket;
// 소켓 접속
Socket socket = new Socket("IP주소",(int) 포트번호);

네트워크 사용규칙

    • 네트워크 사용규칙을 프로토콜이라 한다.
image
    • APP에서의 통신과정은 통신 객체를 만들어서 통신을 한다.
    • ORB : Object Request Broker 서버/클라이언트의 결과를 송수신
    • Stub : 클라이언트 측 브로커
    • Skeleton : 서버 측 브로커
    • Remote Object : 실제 데이터를 처리하는 업무를 수행하고 결과를 브로커에 전달
image

myApp에 적용하기

myApp구조 변경

    • 클라이언트 : 메뉴를 처리하고 데이터를 입력받는다.
    • 서버 : 엑셀을 불러오고 각 리스트를 만들어서 관리하며, 클라이언트의 요청을 리스트에 반영하고 저장한다.
image

소스파일 변경하기