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

本文关键字:通知 机制 之间 客户端 应用程序 服务器 | 更新日期: 2023-09-27 18:25:49

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

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

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

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

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

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

问候

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

PushSharp:一个服务器端库,用于向客户端发送推送通知(客户端基本上是移动设备,但也可以自定义)!你在谷歌上获得一些关于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();
        }