Skip to content

Technological Requirements

정현우 edited this page Apr 6, 2025 · 2 revisions

Server-Sent Events

❓이슈

  • 사회자의 게임 단계 변경에 따라 바뀌는 참가자의 화면을 제어하기 위해 서버에서 참가자 디바이스로의 통신이 이루어야 합니다.

❗해결방안

실시간 웹 애플리케이션 개발 시 사용되는 통신 기법을 활용 합니다. 대표적으로 Polling, Long Polling, WebSocket, Server-sent events  4가지가 있습니다.

  1. Polling & Long Polling 실시간성이 떨어지고 상태변경에 따라 연결 요청이 늘어나는 단점이 있습니다.
  2. WebSocket
    • 클라이언트와 서버 간의 양방향 통신 구조 입니다.
    • 최초 연결 시에만 Header 정보를 보내고 더 이상 보내지 않아서 Header가 불필요하게 커지는 문제를 예방할 수 있습니다.
    • HTTP 요청과 달리 WebSocket 포트에 접속해 있는 모든 클라이언트에게 Event 방식으로 응답을 보냅니다.
  3. Server-sent Events
    • 서버에서 클라이언트로 단방향 통신 구조 입니다.
    • WebSocket과 달리 별도의 프로토콜이 아닌 HTTP 프로토콜만을 사용합니다.

✅결정

요청을 받는 참가자 입장에서는 별도의 요청을 보내지 않고 서버에서 응답을 받는 단방향 시스템이기 때문에 SSE를 사용합니다.

Clone this wiki locally