RabbitMQ
Queue형식이고 FIFO다.이벤트 프로그래밍에서 주로 사용된다.
여러가지 방식이 있다.
publis / Subscribe(발행자,구독자) 패턴: 구독하고 있는 사람들에게 모두 발송한다.
topics 패턴 : 패턴에 의해 읽어간다.(한큐에 같은 패턴의 여러 클라이언트가 붙어있을 경우는 먼저 호출한 클라이언트에게만 발송된다.)
WebSocket
어떤 브라우저에서는 WebSocket을 지원 안할수 있다. 그래서 SockJS를 사용한다.
연결 흐름은 HTTP연결후 WebSocket연결을 한다.
크롬 요소검사에서 Network - WS - Frame 메뉴에서 통신하는 메시지를 볼수 있다.
오래동안 사용하지 않으면 연결이 끊길수 있다. 백그라운드에서 특정 주기마다 통신해야한다.
Srping SockJS
afterConnectionEstablished : 현재 연결된 파라미터가 들어온다.(클라이언트 연결 개수만큼 실행)
afterConnectionClosed : 종료될때 사용된다.
로그인 사용자 채팅
웹소켓도 시큐리티가 필요하다.
HttpSessionHandsakeInterceptor()를 통해 WebSocketSession에 로그인 정보를 저장후 사용하는곳에서 session정보를 불러와 사용한다.
0 개의 댓글:
댓글 쓰기