HTTP 통신은 기본으로 가져가면서 핸드셰이크를 통해서
WebSocket 으로 바꿔준다 그럼 이때는 클라이언트가 먼저 요청을 보내지 않아도 서버에서 실시간으로 알려준다.
ex) 비트코인 실시간 변동사항 고객한테 표로 알려주기

implements HandshakeInterCeptor 를 상속받는다
오버라이딩
beforeHandShake 의 메서드에서 ServerRequest request 로 서버의 session 을 얻어 올수 있다
다운캐스팅을 해준다
ServletServerHttpRequest servletRequest = (ServletServerHttpRequest)request;
다운 캐스팅을 해야 session을 가져올수있다
그전에
if(request instanceof ServletServerHttpRequest)
로 request 가 ServletServerHttpRequest의 자식인지 확인하는 instanceof 를 쓴다
5.

OOOWebsocketHandler 클래스 생성
@Bean 등록

중복을 허용하지 않는 collection인 set 생성 제네릭은
WebSocketSession = 웹소캣 연결을 나타내는 객체
WebSocketSession = 서버 간 전이중 통신을 담당하는 객체
전에 만들었던 클래스에서 session을 가로채 websocketsession 에다가 넣어줌
여러 클라이언트가 동시에 연결될수도있고 동시에 종료할수도잇어서
데이터를 일관성있게 저장하려고 set 을 사용한것이다

void afterConnectionEstablished(WebSocketSession session)

void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus)
5.
message 의 내용을 log 로찍을거고

이러면 모든 클라이언트들이 보낸 메시지들을 서로가 볼수 있게 설정

2.

의존성 주입한 것을 각각 .add로 추가
.addHandler의 주소는 자바스크립트에서 처리 함

이걸 가지고

마지막엔 내 컴퓨터 ip 를 적는다
http://board.com 이면 이거도 넣어줘야된다
이렇게 하면 서버는 처리 완료
main.html 에다가
websocket.js 연결하고
라이브러리도 추가해줘야된다 라이브러리는 공통된 common.html 이나 footer.html 에 작성
