从服务器应用程序调用客户端的解决方案

本文关键字:解决方案 客户端 调用 服务器 应用程序 | 更新日期: 2023-09-27 18:11:15

我有一个windows应用程序(我们叫它App)和一个WebService项目(我们叫它WS)和一个SqlServer数据库(DB),这些技术都来自Microsoft和。net。

角色是,每当App需要做一个动作时,它调用WS, WS与DB一起完成神奇的工作,然后将结果返回给App。

到目前为止,一切都很好,但我需要更多的东西。我需要第三个应用程序,让我们称之为机器人,这个机器人怪物应该有能力找到所有活着的客户端(应用程序实例),而不是杀死,但在某些特定的时间调用它们,然后应用程序将决定在被调用时做一个动作。

我的信息在这里缺乏,这就是为什么我想让你们帮我找到这个服务器调用客户端和客户端做某事的最佳解决方案。

从服务器应用程序调用客户端的解决方案

我有非常简短和实用的解决方案的想法:

  1. 每个客户端应用程序每x秒/分钟调用一个web服务实例YesIamAlive()的方法。如果服务器收到此请求,它将被保存,以便您能够查看哪些客户端是活动的。在过去x秒/分钟内没有发送活动请求的每个客户端都不再是活动的。另一种方法,也在常规的基础上被调用,它迫使客户端做一个动作。

  2. 你可以使用SignalR在你的服务器和客户端之间进行websocket通信。这个例子展示了一个聊天服务器,它不类似于你的请求,但它显示了它背后的想法:http://braindrivendevelopment.com/2013/01/28/signalr-with-windows-azure-cloud-services/

我敢肯定,对于你的问题,还有更优雅的解决方案。

SignalR (GitHub)是一个非常好的框架,可以近乎实时地"推送"到客户端。