게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
Android / 메신저 어플은 GCM으로 하면안되나요?
게시물ID : programmer_13213짧은주소 복사하기
작성자 : 시몬스
추천 : 0
조회수 : 8904회
댓글수 : 13개
등록시간 : 2015/09/11 08:00:29
옵션
  • 본인삭제금지
안녕하세요.


회사에서 게임 내부와 소통할 수 있는, 메신저어플을 만드는중입니다.
기획 당시에는


1. 어플에서 로그인 -> 초기데이터를 전달받음 (친구 정보, 로그인정보)

2. 메세지 쓰기 친구초대 등은 서버에 request -> 관련 정보 response

3. 친구정보가 변경된다던가 메세지가 오는것은 무조건 GCM으로 푸시함.


이렇게 기획을 잡고 시작했습니다.

그런데 갑자기 서버개발자가 의문을 던지더군요. "GCM 손실율이 있지않아?"


검색해보니 "손실될 가능성을 염두해둬야한다" 라고 하더군요. 손실 가능성은 충분히 있고,

GCM의 경우 실제로도 20%정도의 정보가 손실된다고 하네요.



그래서 그럼 폴링 방식으로 진행하자는 얘기가 됐습니다.

그런데 서버쪽에서 골치아프다며 폴링 말고 다른방식이 없을까하면서 검색좀 해보랍니다.. ㅠ (클라지만,, 전 신입이기에..)



또 검색하다보니, 실제 어플이 켜졌을때랑, 백그라운드에 있을때랑 처리하는 방식을 달리하는 방법도 있더군요.


실제 어플이 켜져있을 때:
1. 소켓 연결로 바이너리 통신
2. 폴링하다가 정보 전달 후, 바로 다시 폴링

백그라운드에 있을 때:
1. GCM을 이용한 메세지가 왔다는 정보 전달 (실제로 어플을 켰을 때, 대화 정보를 가져옴. 그전엔 알림기능일뿐)
2. 10초, 20초 등 시간 단위를 두고 폴링



이런 방법들이 있다는 정도만 알게됐습니다.  2-2 (실제어플-백그라운드) 의 조합이 예전 카카오톡이였다나? 그랬던거같은데.. 흠..

뭐가 효율적인지 모르겠네요..



혹시 다른 방식이 있다면 알려주실 수 있을까요?
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호