簡體   English   中英

我可以擁有多少個命名管道?

[英]How many named pipes can I have?

沒有人正確地回答我,或沒有提供官方資源來回答這一問題。 我有一台服務器和許多模塊。 每個模塊將創建一個命名管道,而服務器將為每個模塊創建一個命名管道。 我需要知道我可以同時擁有幾個命名管道。

我不打算將它們像10個客戶端連接到1個服務器,不。 我想始終將1個客戶端連接到1個服務器,但是我可以制造多少個管道?

請注意,我在C#中使用WCF。

Windows中創建的每個命名管道都使用一些系統資源,這意味着可以創建的管道數量受到實際限制。 看到:

每次創建命名管道時,系統都會使用非頁面緩沖池(即內核使用的物理內存)創建入站和/或出站緩沖區。 可以創建的管道實例(以及諸如線程和進程之類的對象)的數量受到可用的非頁面緩沖池的限制。

確切的數值限制將取決於您的系統,但可能至少約為數百(如果不是數千)。

使用WCF命名管道綁定創建管道時,由於該綁定發布有關正在使用的管道的元數據的方式,每個基地址只能創建一個管道。 因此,最好使用絕對URI地址而不是基地址+相對地址來定義WCF端點。 如果您這樣做,並且設計了一個合理的方案為每個端點創建唯一的絕對地址,那么我對可以創建的WCF端點的數目沒有固定的限制。

任何特定系統的實際實際限制只能憑經驗發現。 如果您的目標是擁有幾十個端點,那么我想您將能夠輕松實現這一目標。 如果要同時運行數千個,則可以發揮實際的系統資源限制。 只有測試才能確定這一點。

首先,我想告訴您,您應該正確解釋問題,否則沒人會在這里幫助您。 向您解釋您在哪里遇到的問題,並向我們展示一些代碼。

從您的解釋中,我發現您想要的是: 可以連接到命名管道的客戶端數量

暫無
暫無

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

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