2010-06-03 19 views
1

我正在爲志願者寫一個WinForms應用程序。我被困在一個部分雖然。我如何讓多個用戶運行應用程序,在任何時候都會發出警報,但有任何給定用戶關閉警報?假設星期二11:30在周圍滾動,在4臺PC上發出警報,其中一個用戶可以點擊一個按鈕,所有警報都會熄滅。如何才能完成?對不起,但我沒有任何代碼表明我已經嘗試過它。那是因爲我不確定從哪裏開始。如何讓網絡上的多臺PC同時與應用程序交互?

+0

看看http://en.wikipedia.org/wiki/Observer_pattern。發生事情時很容易通知其他計算機。 (不知道如何轉化爲winforms,但可能是一個開始思考的好方法) – bwawok 2010-06-03 17:00:48

+0

謝謝你的提示。我會研究一下。 – 2010-06-03 17:03:35

回答

4

你可能會想要一個client-server的實現。

您將實現一個服務器,與所有的中央信息(報警,等...)

當報警被激活,它將發送一個消息(包)給所有連接的客戶端的報警活性。這會在所有計算機上啓動警報(您可以有很多,而不是固定的號碼)。

當有人禁用警報時,該人員的客戶端向服務器發送警報終止消息。服務器然後終止警報並執行與操作相關的任何其他代碼。從這一點開始,它向所有關閉音頻表示的客戶端發送「取消警報」消息。


其他的解決辦法是client-client,但我會強烈建議client-server作爲客戶端只將必須瞭解服務器,連接到服務器的行爲將使服務器知道所有客戶端的管理他們。

+0

「客戶端 - 客戶端」被稱爲點對點。 – 2010-06-03 17:45:50

+0

我知道。爲了清楚起見,我使用了'client-client'。很多人對「同行」(peer-peer)有不同的理解(即與文件共享有些同義)。 – Aren 2010-06-03 18:28:25

相關問題