Изисквания: Две програми в компютъра се нуждаят от еднопосочна комуникация и не искат да използват Socket и Http методи за комуникация, Socket трябва да слуша портове, а при конфликти на портове те трябва да бъдат разрешени, след което трябва да обмислят механизма за повторно свързване и т.н., Http методът е твърде неефективен и често създава и унищожава TCP връзки. След това анонимният конвейер на AnonymousPipe изисква процес родител-дете и не го взема предвид.
Използвайте именувани конвейери за комуникация между мрежови процеси:Входът към хиперлинк е видим.
Именуваните конвейери осигуряват междупроцесна комуникация между сървъра на конвейера и един или повече клиенти. Те предлагат повече функционалности от анонимните конвейери, които се използват за осигуряване на междупроцесна комуникация на локалната машина. Именуваните конвейери поддържат пълнодуплексна комуникация между мрежи и множество сървърни инстанции, комуникация на база съобщения и емулация на клиенти, така че процесите за връзка да могат да използват собствените си разрешения на отдалечени сървъри.
Нека първо разгледаме визуализациите:
Използвайте PowerShell, за да видите именувания конвейер, който е отворен (Възможно е да се види и чрез браузър), командата е следната:
.NET 6 като команден конвейер NamedPipeServerStream сървър, кодът е следният:
Програмата .NET Framework изпраща данни като клиент NamedPipeClientStream, със следния код:
Изтегляне на изходния код:
Туристи, ако искате да видите скритото съдържание на този пост, моля Отговор
|