推送服务器和客户端应用程序之间的通知机制

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

我在这个问题上提出一些建议。 提前致谢。

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

您可以在http://www.idesign.net/Downloads/GetDownload/2032上下载一个非常好的实现

你会在这里找到一篇好文章。

问候

tolga,你可以使用带有signalR的winforms,服务器端可以是asp.net或独立的windows应用程序..

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

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(); }