【问题标题】:Push Notification mechanism between a server and a client app服务器和客户端应用程序之间的推送通知机制
【发布时间】:2013-08-01 22:53:54
【问题描述】:

我正在使用 C# 开发一个桌面应用程序,它通过 WCF Web 服务与服务器通信。它应该是一种同步应用程序。这意味着当我对客户端应用程序进行一些更改时,我也应该立即更新服务器(这很容易使用服务调用),但也应该提供这种机制,反之亦然,服务器上的更改必须立即应用于多个客户端。我知道我可以对我的服务器进行轮询,但这对我来说看起来不太好,而且我听说过双工服务,但我不确定是否可以使用它来实现这种机制。

我正在就这个问题征求一些建议。提前致谢。

【问题讨论】:

标签: c# wcf push-notification


【解决方案1】:

您需要实现发布和订阅设计。在 WCF 中,您可以使用 net-tcp 协议来连接双工客户端和服务器。

你可以在http://www.idesign.net/Downloads/GetDownload/2032上下载一个相当不错的实现

你会发现一篇好文章here

问候

【讨论】:

    【解决方案2】:

    托尔加, 您可以将 winforms 与 signalR 一起使用,服务器端可以是 asp.net 或独立的 windows 应用程序..

    【讨论】:

    • 谢谢伙计,我会检查 signalR 的东西。我听说过,但我认为它只适用于 Web 应用程序,如果它在 winforms 中也受支持,它真的可以替代双工服务。
    【解决方案3】:

    PushSharp :用于向客户端发送推送通知的服务器端库(客户端基本上是移动设备 - 但也可以自定义)! 你谷歌也可以得到一些关于 PushSharp 使用的教程。

    【讨论】:

      【解决方案4】:
              var webAddr = "https://fcm.googleapis.com/fcm/send";
      
              var httpWebRequest = (HttpWebRequest)WebRequest.Create(webAddr);
              httpWebRequest.ContentType = "application/json";
              httpWebRequest.Headers.Add("Authorization:key=YOUR_SERVER_KEY");
              httpWebRequest.Method = "POST";
      
              using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
              {
                  string json = "{\"to\": \"/topics/news\",\"notification\": {\"body\": \"New news added in application!\",\"title\":\"" + Your_Notif_Title+ "\",}}";
                  streamWriter.Write(json);
                  streamWriter.Flush();
              }
      
              var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
              using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
              {
                  result = streamReader.ReadToEnd();
              }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-10
        • 2014-08-06
        • 2011-04-26
        • 2015-06-18
        • 1970-01-01
        • 2016-01-10
        • 1970-01-01
        相关资源
        最近更新 更多