移动应用的推送通知在用户体验方面提供了一些很酷的可能性。是否有类似的服务可用于桌面应用程序,如用Java或C#编写的应用程序?
我的目标是让程序根据来自服务器的通知采取行动。如果推送通知不可用,我可以做些什么?让程序将自身调度为任务( cron作业、计划任务或w/e),然后检查服务器是否有更新?让程序始终在后台运行是不可行的,因为更新的频率太低了。
发布于 2011-03-25 12:12:40
如果你想要推送通知,除了让一个进程一直运行之外,你没有太多的选择,因为服务器需要一种联系你的应用程序的方法。
使用推送通知,您可以使用套接字与服务器建立永久连接。当有更新时,服务器会通知你的应用程序,你可以做任何需要做的事情。
但是,如果您的更新不频繁,拉入解决方案可能是一个更好的想法,因为它不需要永久连接。
由于您的程序不需要一直处于打开状态,
(让程序将自身调度为任务( cron作业、调度任务或w/e),然后检查服务器是否有更新?让程序始终在后台运行是不可行的,因为更新太少了。)
您可能只想检查服务器在应用程序启动时是否有可用的更新(根据您的需要,很难仅通过问题中的细节来判断)。
如果您愿意,还可以在后台线程中添加轮询服务器,该线程以固定的时间间隔(符合您的需要)检查更新。
发布于 2017-03-02 07:19:13
你可以使用像Pusher这样的推送/订阅服务(或者自己实现它)。
使用Pusher,您可以只有一个应用程序、服务器或任何推送事件的东西,并让客户端订阅特定事件类型的Pusher,然后当事件发生时,它会通知客户端。
发布于 2022-01-05 03:10:38
自从最初提出这个问题以来,有了更多的选择。现在Windows App SDK提供了Push Notifications。这将启用:
应用程序唤醒-推送通知可以用来唤醒您的应用程序,而不是它必须不断运行,这释放了用户资源。
实时同步-推送通知可以通过向客户端发送推送通知并通知它们与web服务同步来替换应用程序的轮询方案
这也使得没有必要使用持久连接。这是由于存在用于其他平台的Windows Push Notification Services (WNS).等效服务:
https://stackoverflow.com/questions/5426982
复制相似问题