簡體   English   中英

客戶端-服務器:如果客戶端向服務器聲明其存在,然后服務器接管,它仍然是客戶端服務器,還是P2P?

[英]Client - Server: If the clients announce their presence to the server, and then the server takes over, is it still client server, or is it P2P?

問候讀者! 因此,我正在嘗試開發客戶端服務器系統。由於我以前沒有設計過客戶端服務器系統,所以我認為我會提出一個問題,看看這里的專家怎么說。

要求:.NET 3.5 WCF至少要有2台計算機(主服務器和從屬計算機)。

用例是一個測試環境,從屬服務器根據主服務器的要求運行測試。

問題:我希望從屬設備定位並連接到主設備,然后由主設備控制並啟動要運行的測試。 從站還發出進度報告:新的測試數據,意外事件等。

我感到困惑的部分是,如果奴隸開始與主人接觸,那不是使他成為主人嗎?

這是否意味着我在從屬服務器和主服務器上都需要服務主機,以便它們可以啟動活動?

我決定在博客文章中回答這個問題:

http://dotmad.net/blog/2009/02/the-role-ofclients-and-services-in-wcf

客戶端/服務器和主服務器/從服務器不要混淆。 主服務器控制操作,但服務器偵聽連接。

如果您的客戶(從屬)正在發起所有聯系,則您在主服務器上所需的就是監聽這些請求(Web服務等)和處理系統。

我不知道您的問題為什么會被否決,對我來說似乎還可以:)

如果我是您,我可能會傾向於使用netMsmqBinding(我喜歡隊列!)。 主機可以通過將消息放在MSMQ隊列上來將請求分派給從機,而從機可以通過MSMQ將狀態報告發送回主機。 這樣,兩個進程可以獨立工作,並且您不必擔心一個進程與另一個進程保持同步(除非一個進程完全陷入困境)。

為此,在兩個過程中都需要一個ServiceHost。 主服務器需要托管一個netMsmq服務,而從服務器也需要托管。 每個都還需要一個客戶端綁定來發送消息。

如果您需要更多並行處理,這還可以擴展從設備(或主設備)的數量。 (所有從站都可以從同一隊列中提取消息)。

只是一個想法。

簽出DuplexContracts,它應該使您知道可以調用客戶端的方法。 WCF中也有事件處理,盡管它比普通的.NET事件需要更多的工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM