약간의 편법이긴 합니다만, 적당한 시간 딜레이를 계산하고, 예를 들어 1~2초, 그리고 gcm 메시지로 재생을 시작할 시각을 전달해주면 어떨까요? 그리고 본인도 지정된 시간까지 기다렸다 재생하구요. 버튼을 누르는 즉시 동시에 재생되는건 아니지만, 약간의 딜레이가 있더라도 최대한 동시에 실행할 수 있지 않을까요? 물론 각 기기의 시간이 일치해야 한다는 조건이 있습니다만.
이정도로 안된다면, gcm 대신 대상 기기를 소켓으로 미리 연결해두고, 버튼을 눌렀을 때 소켓에 메시지를 전달해 재생시키면 어떨까요? gcm 서버를 타지 않고 소켓이 열린 상태이니 더 빠르겠습다만, 대상 기기 개수가 많아지면 소켓 리소스를 잘 관리해야 하겠구요. 별로 확장성 있는 솔루션은 아니겠습니다.
2012.08.11 17:44:44
dingpong
GCM 은 사용해보지 않았지만, C2DM 이나 다른 푸쉬 플랫폼을 몇개 사용해 봤는데요.
푸쉬 알림의 경우 바로 도착할 수도 있고 한참뒤에 도착할 수도 있고, 씹히기도 하고 부정확합니다.
이정도로 안된다면, gcm 대신 대상 기기를 소켓으로 미리 연결해두고, 버튼을 눌렀을 때 소켓에 메시지를 전달해 재생시키면 어떨까요? gcm 서버를 타지 않고 소켓이 열린 상태이니 더 빠르겠습다만, 대상 기기 개수가 많아지면 소켓 리소스를 잘 관리해야 하겠구요. 별로 확장성 있는 솔루션은 아니겠습니다.