Wymagania: Dwa programy w komputerze potrzebują komunikacji jednokierunkowej i nie chcą używać metod Socket i Http, Socket musi słuchać portów, a w przypadku konfliktów portów trzeba je rozwiązać, a następnie rozważyć mechanizm repołączenia itd., metoda Http jest zbyt nieefektywna i często powoduje nawiązywanie oraz niszczenie łączy TCP. Wtedy anonimowy pipeline AnonymousPipe wymaga procesu rodzic-dziecko i nie uwzględnia go.
Używaj nazwanych potoków do komunikacji procesów międzysieciowych:Logowanie do linku jest widoczne.
Nazwane potoki zapewniają komunikację międzyprocesową między serwerem potoków a jednym lub kilkoma klientami potoków. Oferują one więcej funkcjonalności niż anonimowe potoki, które służą do zapewnienia komunikacji między procesami na lokalnej maszynie. Potoki nazwane obsługują komunikację pełnodupleksową między sieciami i wieloma instancjami serwerów, komunikację opartą na wiadomościach oraz emulację klienta, dzięki czemu procesy połączenia mogą korzystać z własnych zestawów uprawnień na serwerach zdalnych.
Przyjrzyjmy się najpierw wizualizacjom:
Użyj PowerShell, aby zobaczyć nazwany potok, który jest otwarty (Można go także przeglądać za pomocą przeglądarki), polecenie brzmi następująco:
.NET 6 jako potok poleceń nazwanego serwerem NamedPipeServerStream, kod wygląda następująco:
Program .NET Framework wysyła dane jako klient NamedPipeClientStream, z następującym kodem:
Pobranie kodu źródłowego:
Turyści, jeśli chcecie zobaczyć ukrytą zawartość tego wpisu, proszę Odpowiedź
|