1. 파일 업로드 AttachDTO(그룹ID) 객체로 AttachFileDTO(실제 파일) 목록을 받아와서 File 객체를 생성하여 서버 저장공간에 하나 씩 저장하면서 서버의 파일정보가 담긴 AttachDetailEntity를 생성해준다. 모든 AttachFileDTO목록이 끝나면 DB에 AttachEntity 의 정보를 JPA를 통해 입력시켜준다. 2. 파일 조회 조회 시에는 JPA Find 를 통해 Attach정보를 찾아와서 AttachEntity 객체를 생성해준다. AttachEntity에는 1:N의 AttachDetailList가 있기 때문에 같이 조회해온다. 프론트에서는 이 데이터를 받아서 서버 파일 경로와 파일 이름등을 맵핑시켜 데이터를 출력해준다. 3. 파일 삭제 파일을 제거하기 위해 DB에..
STOMP 란 ? Simple (or Streaming) Text Orientated Messaging Protocol의 약자로 WebSocket위에 존재하는 프로토콜이다. Websocket과 비교해서 SpringMVC가 HTTP에 프로그래밍 모델을 제공하는 것처럼 Application수준의 사용을 위한 프로그래밍 모델을 제공한다. 이게 무슨 말이냐면 @MessageMapping 어노테이션을 통해 특정 요청에 대한 처리를 가능하게 한다는 것이다. 이것을 Spring MVC에 비유하자면 @RequestMapping을 통해 접속 URL에 따라클라이언트 요청을 처리하게 되는데, STOMP도 이것을 가능하게 한다는 것이다. STOMP의 구조를 한번 알아보자 CLIENT1이 /chatRoom/1을 가지고 SUBS..
프로토콜 부터 이해하기 프로토콜은 컴퓨터나 원거리 통신 장비에서 메시지를 주고 받는 양식과 규칙의 체계이다. 우리가 1,2,3,4 를 하나 둘 셋 넷으로 알고 외국에서도 one two three four로 아는 것처럼 통신 데이터도 일종의 공통 양식이 필요한 것이다. 물론 이렇게 간단하게 양식이 설계되지 않고, 신호 체계, 인증, 오류감지, 수정, 단방향, 반이중, 전이중, 재전송, 수신 완료 과 같이 OSI 계층을 지나면서 얻는 헤더 값들을 주고받게 된다. WebSocket 이란 웹 소켓은 하나의 TCP접속에 전이중 통신(양방향 통신) 채널을 제공하는 컴퓨터 통신 프로토콜이다. 브라우저혹은 애플리케이션이 이 프로토콜을 지원해야 된다는 것이 선제 조건이지만, 지금의 브라우저 대부분은 이 프로토콜을 지원한..