簡體   English   中英

WCF REST服務和Windows Phone應用之間的消息傳遞

[英]Messaging between WCF REST service and Windows Phone app

我想為Windows Phone 8.1實現一些類似於即時通訊程序的應用程序,並且我有一個WCF REST服務可以連接到MySQL數據庫(我知道,SQL Server會更好,但是為MySQL租用服務器則更便宜... :D),其中存儲用戶等。

我知道REST是無狀態的,但是我想實現某種類似於會話的方法,以使我的Web服務能夠將通過服務的傳入消息立即傳遞給收件人(向Web服務發送消息/請求不是問題)。

所以我的問題是,您會建議我采用哪種技術/解決方案?

我的基本概念是:

  • 用戶從WP注冊-服務將數據保存到db
  • 用戶從WP登錄-我將需要一些會話,例如數據,以使服務器知道應將消息傳遞到何處(例如,用戶的guid,ip地址或其他信息,這些信號表明盡管應用程序已暫停,但用戶仍處於在線狀態並在后台運行,並且仍然能夠接收消息)
  • 用戶從WP向其余服務發送一條消息,該消息應包含有關發件人的數據(至少是用戶的GUID,但不想在客戶端存儲太多有關用戶的數據),收件人,內容,時間戳等)(例如,使用uri模板)發送http請求,例如: message/send ,請求主體中包含收件人的ID,內容等
  • 用戶添加聯系人
  • WCF服務接收請求,對其進行處理,通過通過其guid進行識別來發送給收件人,並且出現了問題,應該了解有關該設備的某些信息,一個IP地址或會話或類似的信息
  • 收件人收到郵件。

希望我能正確描述我的問題,並且會有任何人可以幫助我^^

我將不勝感激!

提前致謝!

有幾種方法可以起作用。

  1. 使用Microsoft的推送通知服務(MPNS)。 這是概述 這是最省電的方式,您的用戶甚至可以在應用程序未運行時接收消息。

  2. 使用Microsoft的Windows通知服務(WNS)。 它僅在WP 8.1上受支持,但是延遲好得多(AFAIR他們承諾在5秒鍾內交付時間)。

  3. 或者,您可以使用某些雙向協議。 選擇:

    • WCF服務器+ net-tcp傳輸:在客戶端上,您必須自己實現綁定+框架+ SOAP,框架中包含更高級別的協議(二進制XML序列化)。
    • 通過TCP的Google協議緩沖區
    • WebSockets:MS在8.1 SDK中提供支持,第三方可用於WP Silverlight
    • SignalR:第三方實施可用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM