0

스프링 mvc를 사용하여 웹 및 모바일 앱을 개발 중이며 인스턴트 메시징을 만들기 위해 다양한 프로토콜과 도구를 이해하는 데 문제가 있습니다 (예 : 웹 사이트의 facebook 메시징 또는 whatsapp 인스턴트 알림). 프로젝트에서 채팅 이외의 기능 중 하나는 사용자가 요청을 보내고 다른 사용자가 즉시 알리는 것으로 응답하기를 기다리는 것입니다.앱용 인스턴트 메시징

그러나 일부는 GCM 또는 FCM을 모바일에 사용하고 다른 사람들은 STOMP 및 AQMP와 같은 다른 프로토콜을 사용한다고 말하면서 길을 잃습니다. 나는 성능 및 기타 문제를 고려하면서 클라이언트와 클라이언트에서 이러한 메시지를 소비하는 동안 브라우저와 모바일 모두에서 작동하도록 내 나머지 API에서 무엇을보고 사용해야하는지 모릅니다 (소비 방법은 선택된 프로토콜?). 요청 소스 (예 : 브라우저 및 STOMP가 iOS 인 경우 - 무엇을 사용해야할지 모르는 경우 모바일 및 Android -> GCM 또는 FCM 인 경우)를 기반으로 여러 프로토콜과 도구를 사용해야합니까?

나는 일반적인 질문처럼 보입니다. 그러나 나는 정말로 요즘을 선택하는 것이 옳은 선택인지 모른다고 특별히 잊었습니다.

답변

0

메시징 스택은 여러 구성 요소로 구성됩니다. 그 중 하나는 서버와 클라이언트 사이의 메시지를 전달하는 데 사용되는 메시지 전송입니다. 이 문맥에서 FCM/GCM/APNS는 전송 프로토콜입니다.

GCM 대신 FCM이 사용됩니다. FCM은 Android, 최신 iOS 버전 및 일부 브라우저에서 작동합니다. 그러나 사용자가 앱에 대한 알림을 사용 중지하면 메시지 전송이 중단됩니다. 푸시 알림에 대한 예측할 수없는 대기 시간도 있습니다. 특히 알림을 입력하는 등 대용량 메시지를 보내려는 경우에 특히 그렇습니다.

메시지 형식은 스택의 다른 구성 요소입니다. 예를 들어, STOMP는 메시지 형식 프로토콜입니다. 모든 직렬 전송에 대해 정의됩니다. 즉 FCM 또는 TCP 또는 websocket을 통해 사용할 수 있습니다.

당신이 묻는 질문이 주어지면 자신의 메시징 스택을 작성하는 것이 완전히 비현실적 인 것처럼 보입니다. 백만 개의 XMPP 서버 중 하나 또는 Tinode와 같은 최신 모델을 선반에서 꺼내십시오. 구글 그것.