【问题标题】:Solution for Calling Clients from Server Application从服务器应用程序调用客户端的解决方案
【发布时间】:2013-04-28 07:52:51
【问题描述】:

我有一个 Windwos 应用程序(我们将其命名为 App)和一个 WebService 项目(将其命名为 WS)和一个 SqlServer 数据库(DB),这些技术都来自 Microsoft 和 .net。

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

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

这里缺少我的信息,这就是为什么我希望你们帮助我找到解决 Server-Calls-Client-And-Client-Does-Something 问题的最佳解决方案。

【问题讨论】:

    标签: c# .net winforms web-services


    【解决方案1】:

    我有非常人手不足和务实的解决方案:

    1. 每个客户端应用程序每 x 秒/分钟调用一个方法,例如 Web 服务的 YesIamAlive()。如果服务器收到此请求,它将被保存,这样您就可以看到哪些客户端还活着。在最后 x 秒/分钟内未发送活动请求的每个客户端不再活动。另一种方法也经常调用,它强制客户端执行操作。

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

    我很确定有更优雅的解决方案可以解决您的问题。

    【讨论】:

      【解决方案2】:

      SignalR (GitHub) 是一个出色的框架,可以近乎实时地向客户“推送”。它适用于 Web 和 WinForms 客户端。

      【讨论】:

        猜你喜欢
        • 2011-10-07
        • 2012-01-21
        • 1970-01-01
        • 2012-06-17
        • 1970-01-01
        • 2018-03-26
        • 1970-01-01
        • 2021-08-27
        • 1970-01-01
        相关资源
        最近更新 更多