2013-04-28 109 views
0

我有一個Windwos應用程序(我們將其命名爲App)和一個WebService項目(將其命名爲WS)和一個SqlServer數據庫(DB),這些技術都來自Microsoft和.net。從服務器應用程序呼叫客戶端的解決方案

的角色,每當應用程序需要做一個動作,它會調用WS和WS所用DB魔術工作,然後將結果返回給應用程序。

到目前爲止,一切都很好,但我需要的東西比這更多。我需要一個第三方應用,讓我們把它叫做機器人,這個機器人怪物應該找出所有活着的客戶端(應用程序實例),而不是殺死的能力,但稱他們在一些特定的時間,然後應用程序(一個或多個)會決定做一個被叫的行動。

我的信息在這裏沒有,這就是爲什麼我希望你們幫我找到這個服務器調用客戶端和客戶端做什麼事情的最佳解決方案。

回答

1

我具有非常短的手和務實的解決方案的想法:

  1. 每個客戶端應用程序調用用於web服務的每個x秒/分鐘的實例YesIamAlive()的方法。如果服務器得到這個請求,它將被保存,所以你能夠看到哪些客戶端是活着的。沒有發送最近x秒/分鐘的活動請求的每個客戶端不再活着。另一種常規的方法也是要求客戶採取行動。

  2. 您可以使用SignalR進行服務器和客戶端之間的websocket通信。這個例子顯示了一個聊天服務器,這是不simular你的要求,但它顯示了它背後的理念: http://braindrivendevelopment.com/2013/01/28/signalr-with-windows-azure-cloud-services/

我敢肯定,甚至還有一些您的問題更優雅的解決方案。

1

SignalRGitHub)是幾乎實時「推」給客戶的優秀框架。它適用於Web和WinForms客戶端。

相關問題