You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 13, 2022. It is now read-only.
WebSocket 표준 RFC 6455에서 정의되었습니다.
WebSocket은 초기 연결시 HTTP를 사용하여 3-way handshaking 방식을 거친 후, 두 엔드포인트간 연결이 성립하면
그 때부터 TCP 소켓이 열리고, 클라이언트와 서버 모두 서로에게 메시지를 전송할 수 있게 됩니다.
Spring 4에서부터 WebSocket을 포괄적으로 지원하는(PSA를 말하는 것으로 생각됩니다) websocket 모듈이 포함되었고,
이는 자바 WebSocket API 표준과 호환된다고 합니다.
Messaging Architecture
웹 소켓은 초기 연결시에 HTTP를 통하기 때문에, 초기 연결에 필요한 HTTP URL을 필요로 합니다.
하지만 한 번 소켓이 연결되고 나면, 이후에는 HTTP와는 상이한 방식으로 동작하여, 오히려 JMS / AMQP 등의 메시징 API와
가까운 방식으로 동작합니다.
Web Socket 사용처
Web Socket은, 클라이언트 - 서버가 높은 빈도와 짧은 대기 시간으로 이벤트를 교환해야 할 때 사용합니다.
그렇지 않고 통신간 몇 분의 간격이 있거나, 주기적으로 업데이트 되지만 시간 간격이 길고 일정한 통신의 경우에는
Real-time DB나 Polling 등의 방식을 채택하는 것이 더 좋습니다.
스프링은 @Controller 또는 @RestController 클래스가 HTTP 요청 및 WebSocket 메시지 요청을 둘 다 handling 할 수 있게 합니다. Spring MVC request handling 메서드나 관련한 모든 메서드는 특정 WebSocket 클라이언트 또는 전체에게 브로드캐스팅 할 수도 있다고 합니다.
WebSocket API
SockJS Fallback Options
Overview of STOMP
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
사용자가 다른 사용자에게 채팅을 요청하면, 1대1 채팅이 가능합니다.
기능을 구현하기 위해, 웹 소켓에 대해 공부하고 채팅 API를 개발합니다.
The text was updated successfully, but these errors were encountered: