2014-03-05 4 views
0

클라이언트 응용 프로그램 (WP8)과 웹 API가 있습니다. 앱은 웹 API를 통해 다른 사용자에게 메시지를 보낼 수 있습니다 (보통 한 명의 다른 사용자, 때로는 소수의 사용자). 이것은 웹 API에 대한 게시물을 통해 저장되는 간단한 "AppMessage"클래스로 수행됩니다.웹 API를 사용하는 서버 푸시

이 과정을 훨씬 빨리 처리하고 싶습니다. 현재 사용자는 로그온 할 때 (웹 API를 통해 인증) 또는 앱에서 새로 고침 버튼을 클릭 할 때만 메시지를받습니다. 클라이언트가 이동하여 더 많은 메시지를 확인합니다.

SignalR이 여기에 적합합니다. 연결되지 않은 클라이언트에게 전송 된 메시지를 연결 클라이언트에 알릴 수 있습니까? SignalR 연결을 데이터베이스의 사용자 레코드에 매핑하고 보낸 메시지를 검색해야합니다.

나는 실시간 통신을 위해 그 사용법을 이해하고 있지만, 연결될 때 클라이언트에게 보낼 메시지 (또는 신호)를 저장하는 방법을 다루지 않는다.

모든 방향을 알려 주셔서 감사합니다.

+1

내가 더 잘 맞는 것은 아마도 Azure Notification Hubs가 될 것이라고 생각한다. http://www.windowsazure.com/en-us/services/notification-hubs/ –

+0

이것은 정확히 무엇을 찾고있는 것처럼 보입니다! 감사 – creatiive

답변

1

예를 들어 메시지가 데이터베이스에 저장되어있는 경우 클라이언트가 연결될 때 메시지를 확인하여 클라이언트에 보낼 수 있습니다 (OnConnected 메서드 참조).

SignalR 자체는 오프라인 사용자 또는 연결을위한 저장소를 구현하지 않으므로 직접 구현해야합니다. 기본적으로 사용자가 온라인 상태인지 확인한 다음 메시지를 직접 보내거나 어딘가에 저장해야합니다. 클라이언트가 영수증을 보내서 메시지가 실제로 표시되었는지 확인할 수 있습니다. 사용자를 SignalR 연결과 연결하는 방법은 this을 확인하십시오.

Azure를 사용하는 경우 Brendan의 제안을 자세히 살펴 보시기 바랍니다.