c# - 桌面应用程序的推送通知?

标签 c# java desktop-application push-notification

移动应用的推送通知在用户体验方面提供了一些很酷的可能性。类似的服务是否适用于桌面应用程序,例如用 Java 或 C# 编写的应用程序?

我的目标是让程序根据来自服务器的通知采取行动。如果推送通知不可用,我可以采取哪些解决方法?让程序将自己安排为任务(cron 作业、计划任务或 w/e),然后检查服务器是否有更新?让程序始终在后台运行不是一种选择,因为更新太少了。

最佳答案

如果您想要推送通知,除了始终运行一个进程之外别无选择,因为服务器需要一种联系您的应用程序的方法。

例如,使用推送通知,您可以使用套接字与服务器建立永久连接。当有更新时,服务器会通知您的应用程序,您可以做任何需要做的事情。

但是,如果您的更新不频繁,拉取解决方案可能是更好的主意,因为它不需要永久连接。

由于您的程序不需要一直打开,

(Have the program schedule itself as a task (either a cron job, or scheduled task, or w/e), then check the server for updates? Keeping the program running in the background at all times wouldn't be an option, because updates would be too infrequent.)

您可能只想在应用程序启动时检查服务器是否有更新可用(取决于您的需要,很难仅通过问题的详细信息来判断)。

如果需要,您还可以在后台线程中添加轮询服务器,以固定时间间隔(适合您需要的时间间隔)检查更新。

关于c# - 桌面应用程序的推送通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5426982/

相关文章:

c# - 有没有办法让 XDocument 保存更快

java - 这个 Java EnumSet 初始化构造如何工作?

c# - 如何从进程列表中隐藏 .net 应用程序

WPF 桌面应用程序读/写文件权限?

c# - 如何在azure web应用程序上部署信号R自托管服务器

c# - 禁用 InstallFiles 的自动回滚

c# - 在 C# 中高效查找二维数组 T[][] 中的唯一元素

java - 如何解决 jsoup 错误 : unable to find valid certification path to requested target

java - 运行带有太多测试用例的套件时内存不足(java 堆)

java - MySql 选择语句失败