(메신저 개발) 카카오톡 폴링 방식
폴링: 하나의 장치(또는 프로그램)가 충돌 회피 또는 동기화처리의 목적으로 다른 장치의 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 송수신등의 자료처리를 하는 방식을 말한다. 이 방식은 버스, 멀티포인트 형태와 같이 여러 개의 장치가 동일 회선을 사용하는 상황에서 주로 사용된다. 서버의 제어 장치(또는 프로그램)는 순차적으로 각 단말 장치(또는 프로그램)에 회선을 사용하기 원하는지를 물어본다.
카톡은 푸시서버 대신 폴링을 이용한다고 알려져 있습니다.
그리고, 얼마 전 기사에 나오길 msg 수신확인 전까지 msg를 저장한다고 했습니다.
그래서 이래저래 알아보니 (뭐 모바일 메신저가 다 그렇겠지만) 채팅방 시스템이더군요.
참고: http://wink.egloos.com/v/4582028
- 간단한 구현
- 쓸모없는 요청-응답 때문에 많은 트래픽이 낭비됨
- 반복하는 주기가 짧지 않은 경우, 폴링 기법 추천
(ex. 페이스북 웹채팅에서 사용자 리스트 갱신주기 1분 - 폴링기법 사용함)
- 서버에서 커넥션을 물고 기다리고 있으며, 이벤트의 업데이트가 있을 경우 클라이언트로 응답을 보내준다.
- 구현기술
- iframe : 구현이 쉬우나 로딩이 표시되고 크로스 도메인을 지원하지 않음
- htmlFile : IE 에서만 동작함
- JSONP : 대중적인 사용방식, 크로스도메인 문제 해결
- XmlHttpRequest : 크로스 도메인을 지원하지 않음
그리고, 얼마 전 기사에 나오길 msg 수신확인 전까지 msg를 저장한다고 했습니다.
그래서 이래저래 알아보니 (뭐 모바일 메신저가 다 그렇겠지만) 채팅방 시스템이더군요.
<카카오톡 동작 원리 (예상도)>
참고: http://wink.egloos.com/v/4582028
댓글
댓글 쓰기