polling

Minji Lee·2023년 3월 6일
0

client-Server 통신

: 클라이언트와 서버 간 데이터 전송

1. Http 통신

  • Client가 Sever로 요청을 보냄(단방향적 통신)
    즉, Sever는 Client에게 요청 보낼 수 없음
  • 실시간 연결이 아닌 필요한 경우에만 Server로 접근
  • Server는 응답을 보내주고 연결을 종료함 → 즉, 연결 필요할 때마다 다시 연결해야함

2. Socket 통신

  • 특정 Port를 통해 연결 유지한 채로 실시간으로 통신(양방향적 통신)
  • 채팅, 스트리밍 중계와 같이 실시간 통신이 필요한 경우 사용

polling 기법

: http의 단점(단방향적 통신임 → 서버에서 클라이언트로 요청 불가능) 보완하기 위해 일정한 주기를 가지고 서버와 응답을 주고 받는 기법

polling 특징

  • 주기적으로 요청/응답이 이루어짐
  • 실시간 전송을 불가능 → 요청/응답 주기를 짧게하면 가능하지만, 클라이언트와 서버에게 부담이 됨
  • 보낼데이터가 없어도 데이터를 계속 전송해야함으로 서버의 리소스 낭비 발생
  • 주기(시간)를 늘리면 실시간성이 떨어지고, 줄이면 서버에 큰 부하를 줌

long polling 기법

위의 문제를 해결하기 위해 http long polling 기법이 나옴

일반 polling 방식: 주기적으로 물어봄
long polling 방식: 일단 보내고 time out될 때까지 무한정 기다림

long polling 특징

  • 항상 연결이 유지되어 있음
  • 변경에 민감하게 반응함, 실시간 통신 가능
  • 데이터가 주어지는 즉시 바로 반응하고 보냄

polling 기법 사용 예

ex) AI에 의해 처리된 이미지를 요청하는 경우

[참고자료]

Socket통신 vs http 통신

0개의 댓글