Spring - WebSocket (실시간 연결 상태, 알람, 채팅 등)

2019. 7. 15. 17:27카테고리 없음

---------------------------------WebSocket----------------------------
         
WebSocket
        - 브라우저와 웹서버간의 전이중통신을 지원하는 프로토콜이다.
        - HTML5버전부터 지원하는 기능이다.
        - 자바 톰캣7버전부터 지원했으나 8버전부터 본격적으로 지원한다.
        - spring4부터 웹소켓을 지원한다.

Spring을 활용한 웹소켓 요청 처리
        - WebSocketHandler 인터페이스를 구현한 핸들러 클래스를 작성해서 구현한다.
        - WebSocketHandler의 주요 메소드
                
                void handlerMwssage(WebSocketSession session, WebSocketMessage message)
                        - 클라이언트로부터 메세지가 도착하면 실행된다.
                
                void afterConnectionEstablished(WebSocketSession session)
                        - 클라이언트와 연결이 완료되고, 통신할 준비가 되면 실행된다.

                void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus)
                        - 클라이언트와 연결이 종료되면 실행된다.

                void handleTransportError(WebSocketSession session, Throwable exception)
                        - 메세지 전송중 에러가 발생하면 실행된다.

        - 웹소켓 요청을 처리할 때 자주 사용하는 클래스
                - TextWebSocketHandler
                        - 텍스트 메세지 전용의 웹소켓핸들러를 구현할 때 사용한다.
                        - handlerTextMessage(WebSocketSession session, TextMessage message)
                                - 텍스트 메세지를 받았을때 실행된다.

                - BinaryWebSocketHandler
                        - 바이너리 메세지 전용의 웹소켓핸들러를 구현할 때 사용한다.
                        - handleBinaryMessage(WebSocketSession session, BinaryMessage message)
                                - 바이너리 메세지를 받았을 때 실행된다.


브라우저에서의 웹소켓 처리
        - HTML5를 지원하는 브라우저는 전부 웹소켓관련 API를 제공한다.
        - 웹소켓 연결 시작하기
                var webSocket = new WebSocket("ws://요청주소");

 

 

 

 

1. CourseVo

 

 

 

 

2. CourseDao

 

 

 

3. CourseDaoImpl

 

 

 

4. CourseService

 

 

5. CourseServiceImpl

3

 

 

 

6. CourseApplicationWebSocketHandler

 

 

 

 

7. home.jsp